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

相关推荐

数学建模--十大经典常用算法

数学建模十大算法:灰色预测,蒙特卡洛,遗传算法,模拟退火法,组合算法,神经网络,动态规划,聚类算法,类比法,概率算法,Floyd算法

qq_51533426的博客 5647

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

别再为域名备案发愁了!微信小程序后端调用,试试这个‘官方捷径’——云托管

本文介绍了微信小程序后端部署的新思路——利用微信云托管服务绕过域名备案难题。通过详细的环境准备、数据库配置、服务部署和小程序端调用方案,帮助开发者快速实现小程序与后端服务的无缝对接,大幅缩短上线周期并降低运维成本。

weixin_29243279的博客 672

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

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

ChangKyrie的博客 3198

极智量化平台实战:5分钟教你用Python实现双均线交易策略(附完整代码)

本文详细介绍了如何在极智量化平台上使用Python实现双均线交易策略,包括数据获取、信号生成、回测分析和策略优化。通过完整的代码示例和实战演示,帮助开发者快速掌握量化交易系统的基本原理和应用方法,实现自动化交易。

weixin_29269441的博客 487

ESP32+ST7789 LCD屏实战:5分钟搞定中文显示与图片渲染(附完整代码)

本文提供了一份详细的ESP32驱动ST7789 LCD屏幕的实战指南。通过清晰的SPI硬件连接说明、ESP-IDF框架下的初始化代码,以及图片渲染与中文字库构建的核心算法,帮助开发者快速实现中文显示与图片渲染功能,并附有完整的代码示例和性能优化技巧。

weixin_29189377的博客 437

高德地图点击地图

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

yuyu_2019的博客 823

GEPA_AIME教程:使用GEPA优化数学问题求解的完整指南

本教程展示了如何使用DSPy框架中的GEPA(Generative Evolutionary Prompt Adaptation)优化器来提升大语言模型在数学竞赛问题(AIME)上的表现。# 创建基础的链式思考程序"""带有详细反馈的评估指标,为GEPA提供学习信号"""try:# 处理解析错误feedback_text = f"最终答案必须是一个有效的整数。你回答了'

步子哥的博客 1385

js中重复绑定事件

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

qq_33039355的博客 483

关闭搜狗输入法右下角广告的解决方案

本文主要介绍了关闭搜狗输入法右下角广告的解决方案,希望能对使用搜狗输入法的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

基于MATLAB实现语音信号MFCC特征提取(附完整代码)

你有没有想过你的智能手机是如何理解语音指令的?或者 Alexa 和 Siri 等语音助手如何处理您的命令?这种卓越能力背后的机制在很大程度上归功于一种称为 Mel 频率倒谱系数 (MFCC) 的方法。语音识别技术允许机器解释人类语音,将口语转换为计算机可以操纵的格式。这项技术对于开发交互式和响应式 AI 至关重要,例如声控助手、自动化客户服务系统和实时翻译服务。MFCC 代表 Mel 频率倒谱系数。这是用于自动语音和说话人识别的功能。

baidu_34971492的博客 1313

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

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

weixin_45901261的博客 4023

10倍开发者的 Dify 魔法书:从零构建全栈 AI 应用

“不懂底层算法,也能开发爆款 AI 应用吗?” 答案是:绝对可以。 Dify 正在重新定义 AI 应用的开发范式——通过可视化的低代码平台,将原本需要数周的开发周期压缩到几小时。无论你是前端、后端、产品经理,还是渴望破局的独立开发者,这都是你不可错过的红利。 我们将手把手教你利用 Dify 快速接入百模大战,零代码搭建企业级知识库,并一键发布你的专属 AI 助手、智能客服和自动化工作流。 告别重复造轮子,掌握 Dify,一个人就是一支 AI 团队。现在上车,开启你的 10 倍速开发之旅!

davidwang456的专栏 682

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

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

向着太阳迎着光 1384

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

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

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

weixin_39463716的博客 2148

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

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

dici2748的博客 555

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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、付费专栏及课程。

余额充值