jquery用append给标签里面加东西,但是怎么解决不能重复添加的问题了?

jquery用append给标签里面加东西,但是怎么解决不能重复添加的问题了?,第1张

1、页面初始化,定义数组:var arr = []

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文件,点击文字,查看实现的效果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11509153.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存