300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Jquery点击事件触发多次解决办法

Jquery点击事件触发多次解决办法

时间:2019-10-25 02:05:23

相关推荐

Jquery点击事件触发多次解决办法

在用jquery绑定事件的时候,一般来说习惯性都是喜欢绑定匿名事件。比如下面的:

<body><input type="button" class="dv" value="按钮"><script src="js/jquery-3.3.1.js"></script><script type="text/javascript">$(function () {$(".dv").click(function () {// 第一种alert("Hello World");});$(".dv").on("click",function () { //第二种alert("Hello World");});$(".dv").bind("click",function () { //第三种alert("Hello World");})})</script></body>

由于是匿名事件,所以假如你这个事件是放在一个for循环里面的话,这样的匿名事件是会重复的叠加叠加上去,

之所以会叠加,是因为是匿名事件,会重复的创建空间给这个匿名事件,所以才会导致叠加,这个问题可以后面解决。

我用的解决方案:

在绑定这个事件之前,我们先解绑之前绑定的事件,这样就可以保证每次操作的时候都是只有一个时间,具体的操作就是,如果用on绑定的事件,你就用off取消绑定,再用on绑定事件。代码如下:

$('.preset-list.fillL3').off('click', '.preset-list-button');$('.preset-list.fillL3').on('click', '.preset-list-button', function () {presetClick($(this)[0]);});

如果你用的是bind绑定的话就用unbind取消绑定,这样就可以避免使用匿名事件的时候事件会重复叠加到挂载元素中。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。