2、点击"选中",获取字符串str
3、先判断str是否已包含在arr,如果不存在继续你的 *** 作,且把str放进arr里面,如果已存在,则中断你的添加事件
注:在某些条件,需要对arr清空,比如在清空你那些li标签的时候,应该需要清空arr
还有一种方式,就是每次点击"选中",先获取所有li标签的内容,然后放进一个数组。然后判断添加的字符串是否在生成的数组里面,不存在的话就继续添加,存在的话,就中断,这种方式不需要去关心初始化的arr是否清空的问题
在写一个项目,有一个触发编辑按钮才会出现编辑板块,然后编辑板块中有点击添加的事件。当保存编辑,编辑板块消失。再次点击编辑,再点击添加,会触发多次,生成多个模块。
经过多次反复痛苦的调试,发现是在点击编辑后调用的函数中绑定了添加的事件,当再次点击编辑时,会重复绑定,所以会出现触发多次的bug。
解决方法就是在绑定之前先解绑。
这样就可以解决了。jquery中还有很多类似的处理,比如说运行一个动画前先将之前的动画stop()掉。
不过在解绑事件时最好将具体的元素写入,因为在事件委托时,不写明具体,解绑会将所有事件解绑
上述例子只会触发alert(3),因为点击btn1时,解绑了所有在body上的click事件,只会调用在最后绑定的alert(3)。
应该写成
1、新建一个html文件,命名为test.html,用于讲解&gt怎么让jquery事件执行一次。
2、在test.html文件内,引入jquery.min.js库文件,成功加载该文件,才能使用jquery中的方法。
3、在test.html文件内,使用p标签创建一行文字,文字内容为“这是一段测试的文字”,并设置其class为mypp。
4、在js标签内,在页面加载完成时,通过class(mypp)获得p元素对象,使用one()方法给对象绑定click点击事件,当p元素被点击时,执行function()方法一次。
5、在function()方法内,使用$(this)获得p标签对象,使用text()方法取得p标签内的值,把值保存在ny变量中。
6、在function()方法内,使用alert()方法将获得的内容输出来。
7、在浏览器打开test.html文件,点击文字,查看实现的效果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)