关于js重复绑定

js 判断是否绑定一个事件 立即下载

在一次写js函数的时候,通过点击按钮,触发一个showPictrue时间

$("#gdtpwjbd").on("click", function() {
                    showPicture($("#gdtpwj_hidden").val());
})
function showPicture(url) {
        if(url == "") {
            alert('未上传!');
            return;
        }
        console.info('查看图片路径: ' + url);
        var image = new Image();
        image.src = url;
        var iWidth = image.width; //弹出窗口的宽度;
        var iHeight = image.height; //弹出窗口的高度;
        var iTop = (window.screen.availHeight - 30 - iHeight) / 2; //获得窗口的垂直位置;
        var iLeft = (window.screen.availWidth - 10 - iWidth) / 2; //获得窗口的水平位置;
        window.open(url, "", "height=" + iHeight + ", width=" + iWidth + ", top=" + iTop + ",  left=" + iLeft);

这个函数主要是对图片进行显示,但是在实际执行的时候,会出现这种情况,点击一次按钮,会出现两个弹出窗口,也就是函数被执行了两次。
造成这个现象的主要原因是累加绑定,因为我的绑定函数是放在页面的onload函数里面,所以没有加载页面的时候都会进行重复累加,当绑定多个click的时候,也就出现点击一次,执行多次。
解决办法,在每次绑定前,把上次的绑定接触:

$("#gdtpwjbd").off().on("click", function() {
                    showPicture($("#gdtpwj_hidden").val());
})

添加一个off,问题就会解决

JS动态添加元素及绑定事件造成程序重复执行解决 主要给大家介绍了关于JS动态添加元素及绑定事件造成程序重复执行的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。 立即下载

相关推荐

【学习笔记】人群归因分数 PAF 以及combined PAF

人群归因风险比例(Population Attributable Fraction,PAF)是一个流行病学指标,它估计了在总体中,如果能消除一个特定的危险因素,能预防多少百分比的疾病或健康结果。简单来说,PAF回答的是:“如果没有这个风险因素,总体中会有多少病例是可以避免的?

weixin_53499537的博客 4900

js事件重复绑定问题

先看一个简单的例子吧(为了方便,例子使用jQuery写的):<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <button id='create'>点击生成新的button</button> <div id="bu

婧小童的coding岁月 6792

HFSS与AI融合:智能算法如何重塑天线设计流程

本文探讨了HFSS与AI融合如何通过智能算法革新天线设计流程。在5G/6G通信时代,AI技术如机器学习和遗传算法显著提升了高频电磁场仿真效率,将传统设计周期从数周缩短至数小时,并优化了天线性能。文章详细介绍了AI与HFSS的集成策略、关键技术突破及典型应用案例,展示了智能算法在天线设计中的巨大潜力。

weixin_29035147的博客 777

js 点击事件 内部的 另一个点击事件重复

我们写页面交互的时候,有时候会遇到JS点击事件内部嵌套另外一个点击事件,这种情况下,当我们多次触发外部的点击时间时,内部的点击事件会进行一个缓存,当触发内部的点击事件时会发现重复的情况。 例如: 点我 $('.d1').click(function(){ var index=$(this).index(); console

ChangKyrie的博客 3198

Android NDK/JNI面试题大全及参考答案(3万字长文)

是一套工具集合,它允许开发者为Android平台编写原生应用程序或者应用程序的部分模块。NDK 主要用于开发那些需要高性能计算的应用程序,例如游戏引擎、图像处理软件或音频/视频编码解码器等。通过使用 C 或 C++ 编写代码,开发者可以利用硬件加速功能,提高应用性能。NDK 提供了一系列工具来帮助开发者完成从源代码到可执行文件的整个过程,包括编译、链接、调试等功能。

大模型大数据攻城狮的专栏 1256

看完就会!手把手教您如何正确开启飞牛Nas 虚拟机的 IOMMU 硬件直通,让虚拟机的性能飙升!

看完就会!手把手教您如何正确开启飞牛Nas 虚拟机的 IOMMU 硬件直通,让虚拟机的性能飙升!

XiaoqiangClub的博客 1万+

高德地图点击地图

var map = new AMap.Map("container"); var clickHandler = function (e) { // 地图点击事件 alert('您在[ ' + e.lnglat.getLng() + ',' + e.lnglat.getLat() + ' ]的位置点击了地图!'); }; map.on('click', clickHandler) // 绑定地图点击事件 ...

yuyu_2019的博客 823

测试用例设计工具大盘点:总有一款适合你

本文旨在帮助测试工程师、开发人员及团队管理者快速了解主流测试用例设计工具的特点、适用场景和选择逻辑。覆盖工具类型包括传统文档工具、开源管理工具、商业集成平台及新兴AI工具,范围涵盖中小团队到大型企业的不同需求。本文从“测试用例设计的痛点”切入,用生活案例解释核心概念;接着按“工具类型”分类盘点主流工具(附优缺点对比表);再通过“小团队/中大型团队/敏捷团队”等真实场景教你选工具;最后展望AI等未来趋势,帮你“一次学透,终身受用”。

项目管理的博客 1590

js中重复绑定事件

那么,我们是否能实现每次绑定的事件都能执行呢?答案是可以的,我们来修改代码。在同一元素上绑定多个事件,那么这些事件要如何执行呢?我们来点击结点元素,运行后发现,控制台之打印出了3。再次点击结点元素,发现分别打印出了1,2,3。

qq_33039355的博客 483

【CANdelaStudio编辑CDD】-1.2-给$10服务SessionControl创建一个新Session会话并修改Session state machine会话状态机(UDS诊断)

前一篇:【UDS诊断描述文件CDD】-1.1-ISO_14229中$10服务理论部分https://blog.youkuaiyun.com/qfmzhu/article/details/120375515案例背景: 在CDD中如何给$10服务创建一个新的Session会话; 在CDD中如何给$10服务修改Session state machine会话状态机。 目录 1 查看$10服务中已有的Session会话​ 2 查看$10服务中已有的Session state machine会话状态机 3 在$10...

「汽车电子助手」的博客 6075

软考中级-软件设计师 23种设计模式(最详细解析!!)

软考中级-软件设计师 23种设计模式

片言可决讼,半纸能缚龙 2万+

JS动态添加元素绑定点击事件,触发事件多次执行问题?

JS动态添加元素绑定点击事件,触发事件多次执行问题

weixin_45901261的博客 4023

OpenClaw 保姆级 window部署

OpenClaw 保姆级 window部署 养龙虾

cs821984831的博客 297

如何防止 JavaScript 中的重复事件绑定?

防止 JavaScript 中的重复事件绑定的策略有很多种。使用来清理已绑定的事件。利用事件委托方式将事件绑定到父元素。使用标志位来判断事件是否已经绑定。利用once选项,确保事件只触发一次。使用第三方库(如 jQuery)提供的去重功能。在动态组件中手动清理事件绑定。选择合适的策略,可以有效地避免重复事件绑定带来的性能问题和意外行为。

向着太阳迎着光 1384

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

JS点击事件重复绑定的问题

核心关键字: .off("click") .unbind("click") 问题出现场景 现在页面上有两个按钮 HTML <button id="btn1">按钮1</button> <button id="btn2">按钮2</button> js //页面初始化方法 $(function(){ //按钮1的点击事件 $("#btn1").c...

weixin_39463716的博客 2148

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

解决pjax重复加载js导致事件重复绑定的问题

个人博客 地址:http://www.wenhaofan.com/article/20180925232057 1.所有js统一在pjax容器外引入 在pjax容器外引入的js只会被引入一次,所以不会出现重复加载的问题,但是该方法仅适用于页面较少的情况,如果页面很多,那么会导致第一次访问时引入大量不一定会被适用到的js,效率低下。2.将绑定事件和其他事件区分成两个js来引入 ...

dici2748的博客 555

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

JS 事件委托绝了!1 次绑定搞定所有按钮点击,告别 JavaScript 重复事件绑定

简单说,就是把原本要绑在子元素上的事件,绑到它们的父元素上,让父元素 “代收” 事件,再判断该处理哪个子元素的事件。其实解决这问题不用反复绑定事件,用 JS 的 “事件委托” 一招就能搞定,不管是 10 个按钮还是 100 个按钮,甚至后来新增的按钮,只要绑一次事件就行,今天咱们就把这事说透,代码少还实用。就这几行代码,不管原来有多少个删除按钮,还是后来新增多少个,点击都能用 —— 因为父元素.todo-list 一直在,事件绑在它身上,只要点击的是它里面的.delete-btn,就能被识别到。

思索的涟漪,突破自我 380

JavaScript之按钮重复绑定问题

按钮重复绑定问题1. 按钮绑定:应该减少按钮重复绑定,每个按钮只绑定一次,只有业务多的时候,需要重复绑定,但是绑定前一定要先解绑。(注:对于像弹出框的按钮绑定,只需创建弹出框的时候绑定一次,因为随着弹出框关闭,弹出框对象已不存在,相应的弹出框里面的按钮绑定也不存在了)2. 例子:对于动态改变的按钮,比如信息的“编辑”按钮,建议使用下面的按钮绑定方式:js 代码://点击“编辑”按钮$(...

clk_esunny的成长之路 657

JS解决重复绑定问题以及获取事件

JS解决重复绑定问题以及获取事件

mhx123456789的博客 251

eFuse+MCU+CAN:工业电源路径保护的可控诊断方案

在嵌入式与工业设备中,电源路径保护常被简化为保险丝与防反二极管,但面对过载、短路、浪涌等异常时,这种简单方案往往响应慢且无法恢复。电子保险丝(eFuse)将功率MOSFET、电流检测、过压/欠压判断和软启动集成于一体,可在微秒级完成硬件限流与切断,并提供故障状态输出。配合微控制器(MCU)进行策略管理,通过CAN总线将电源状态与故障信息上报,实现从不可见的模拟保护到可诊断、可恢复的数字事件管理。文章以TPS259483AYWPR与PIC18F46K80为例,解析欠压、过压阈值计算、限流与软启动配合、固件状态

weixin_33798152的博客 1924

JavaScript重复绑定事件的注意事项

前端实际开发中,经常需要给元素添加各种事件,如click、change等等,那如果某种情况下,当我们给某元素多次绑定了同一事件,在此事件真正被触发时,会响应几次事件的执行?下面给一个例子说明: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &lt...

天天向上 620

Javascript重复绑定事件的注意事项

前端实际开发中,经常需要给元素添加各种事件,如click、change等等,那如果某种情况下,当我们给某元素多次绑定了同一事件,在此事件真正被触发时,会响应几次事件的执行?下面给一个例子说明: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

weixin_34049948的博客 129

JS中click事件的累加和重复绑定事件

环境:在一个动态模块框中,由于新增和编辑的样式一样,所以我让两个操作共用一个模态框,而且共用一个提交按钮。但是两个操作放到两个不同的后台地址处理,那么问题来了,我在add和edit时,分别为submit按钮绑定不同的单击事件。我的理想是,点击了add后,submit的单击事件提交到后台的insert,点击edit后,submit的单击事件提交到后台的update。但是实际测试时,发现了一个致命的...

RainVanilla的博客 1345

JS中动态添加元素并绑定事件点击多次时重复执行

js代码 我这里只有两条数据,第一次点击时正常,触发调用file_list()()这个函数,动态添加相关内容。 当第二次点击时发现当我们点击页面的按钮,触发调用file_list()()这个函数当二次刷新触发后,你会发现其弹出了两次,当第三次时,你会发现,其弹三次,以此类推。。。。 查找资料得知当动态添加内容后,通常会写上添加的这些p中需要用到的事件,比如click事件。所以当添加第一条数据...

weixin_44423938的博客 920

javascript重复绑定事件造成的后果

最近在修改百度地图开源的东西,想把里面耦合在一起的代码给拆分出来。拆解之后,发现了一些坑爹的问题。逻辑上没有问题的情况下,该出现的效果没有出现。然后就以为是代码哪里写得不对了,就一直找啊找的。在调试的时候发现,相应的事件被执行了两遍。瞬间就明白了,肯定在哪个地方重复绑定了事件。果然,真心脑残的绑定了两次事件。 平时在写代码的时候,如果发现绑定的事件触发了两次,那就要查看是否是绑定了两次事件了。别...

weixin_30396699的博客 112
上一篇: java Collection
下一篇: js时间冒泡
暗夜荆棘鸟
博客等级 码龄12年 9粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值