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取消绑定,这样就可以避免使用匿名事件的时候事件会重复叠加到挂载元素中。
Jquery点击事件触发多次解决办法相关推荐
- jquery点击事件失效原因和解决办法
今天遇到的一个问题:在使用jQuery绑定点击事件的时候,动态添加元素的时候,会遇到点击无效的情况: 例如:给dl里添加dd元素,并给dd绑定点击事件 $("dl").append ...
- ajax点击事件触发后台,使用jquery点击事件触发AJAX
我有两个下拉菜单,其中一个我试图用jquery替换单选按钮.第二个盒子通过AJAX进行更新,每次用户在第一个下拉菜单中进行选择时都会有新选项.我已经成功生成单选按钮,可以更改第一个下拉列表的值,但是当 ...
- Android TextView设置自动识别的超链接字体颜色,及自身点击事件无响应的解决办法
前言 我们在给TextView设置超链接的时候,可能最简单的,Android已经给出了一个非常的简单的做法就是: 在xml中设置: <!--all表示匹配所有,web表示匹配网址 --> ...
- jQuery on()方法绑定动态元素的点击事件无响应的解决办法
$('#check_all').on('click' , function(){ alert(1); }); $("#yujinlist").append(html); count ...
- C# fileSystemWatcher类的Changed事件触发多次解决办法
private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e) {fileSystemW ...
- jQuery点击事件在iOS失效
1.jQuery点击事件,在Android手机上点击事件是可以的,但是iOS手机没反应. js 生成的DOM,不是HTML写的 用 $('.btn').on("click",f ...
- jQuery 点击事件冲突
jQuery 点击事件冲突:img上有点击方法,btn在img上也有点击方法:点击btn时会同时触发两者事件 在btn的onclick事件里 加上 阻止冒泡:JQuery的 : event.stopP ...
- jquery中点击事件click的写法
jquery中点击事件click的写法: <input type="button" "test1()" id="btn1" value ...
- jquery 点击事件切换样式
jquery 点击事件切换样式 $('#FatherName').on('click', '.ClassName', function(e){$('.ClassName').removeClass(' ...
- jquery 点击事件 第一次点击选中 第二次点击改变状态
jquery点击事件 第一次选中:第二次消失 $("#myCard li").val(1); $("#myCard li").click(functio ...
最新文章
- linux 执行程序 注销,Linux登录登出的过程 | Soo Smart!
- linux alpine 用dockerfile创建的ssh镜像
- java 内存分析之jmap 详细用法完整版(一)
- 你的专业 VS 你妈口中你的专业
- /etc/security/limits.conf的相关说明
- [理解需求变更之一]说说需求变更的必然
- LVCOLUMN和LVITEM结构体解析
- ZOJ3944People Counting暴力/枚举
- 如何为resin的jvm-default.log瘦身
- VSphere服务器ESXI4.1.0设置虚拟主机来电开机自启动
- Windows操作系统安装、备份与还原的所有方法
- 如何按关键字搜索商品详情
- java计算机毕业设计小小银动漫网站源码+lw文档+系统+数据库
- 55寸0.88mm拼接屏对比1.8mm拼接显示效果
- win8计算机触摸板怎么设置,win8.1笔记本电脑怎么关闭键盘触摸板
- Xms Xmx PermSize MaxPermSize 区别
- 行为经济学_为什么所有数据科学家都应该了解行为经济学
- EA周报|刘强东案 9 月 11 日开庭听证;小鹏员工承认上传特斯拉源代码到个人账户;传新 iPhone 将抛弃刘海使用真全面屏...
- linux 播放mkv视频,Fedora 22 怎么播放 rmvb mp4 mkv 视频文件
- vue屏幕分辨率适配实战解析