Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在jQuery中删除事件处理程序的最佳方法?

在jQuery中删除事件处理程序的最佳方法?

提问于 2017-12-07 03:00:47
回答 2关注 0查看 361

"我有一个input type=""image""。这就像Microsoft Excel中的单元格笔记一样。如果有人在input-image与之配对的文本框中输入一个数字,我为它设置一个事件处理程序input-image。然后当用户点击时image,他们会得到一个小小的弹出窗口,为数据添加一些注释。

我的问题是,当用户输入一个零到文本框中,我需要禁用input-image的事件处理程序。

$('#myimage').click(function { return false; });"

回答 2

帅的惊动我国

发布于 2017-12-07 06:55:28

也可以使用live()方法来启用/禁用事件。

代码语言:txt
AI代码解释
复制
$('#myimage:not(.disabled)').live('click', myclickevent);
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
$('#mydisablebutton').click( function () { $('#myimage').addClass('disabled'); });

这个代码将会发生什么,当你点击#mydisablebutton时,它会把禁用的类添加到#myimage元素中。这将使选择器不再匹配元素,事件将不会被触发,直到“禁用”类被删除,使.live()选择器再次有效。

通过添加基于该类的样式。

Ne_biubiubiu

发布于 2017-12-07 06:54:26

jQuery≥1.7

使用jQuery 1.7以后,事件API已经被更新,.bind()/ .unbind()仍然可用于向后兼容,但是首选的方法是使用on() / off()函数。下面现在是,

代码语言:txt
AI代码解释
复制
$('#myimage').click(function() { return false; }); // Adds another click event
代码语言:txt
AI代码解释
复制
$('#myimage').off('click');
代码语言:txt
AI代码解释
复制
$('#myimage').on('click.mynamespace', function() { /* Do stuff */ });
代码语言:txt
AI代码解释
复制
$('#myimage').off('click.mynamespace');
代码语言:txt
AI代码解释
复制
jQuery <1.7

在您的示例代码中,您只需向图像添加另一个单击事件,而不是覆盖前一个:

代码语言:txt
AI代码解释
复制
$('#myimage').click(function() { return false; }); // Adds another click event

这两个点击事件将被解雇。

正如人们所说,你可以使用解除绑定来删除所有的点击事件:

代码语言:txt
AI代码解释
复制
$('#myimage').unbind('click');

如果你想添加一个事件,然后将其删除(不删除可能已经添加的其他事件),那么你可以使用event namespacing:

代码语言:txt
AI代码解释
复制
$('#myimage').bind('click.mynamespace', function() { /* Do stuff */ });

并只删除你的事件:

代码语言:txt
AI代码解释
复制
$('#myimage').unbind('click.mynamespace');
和开发者交流更多问题细节吧,去 写回答
相关文章
JQuery事件处理
Jquery事件 1、  绑定事件示例代码: <a href=”#”>绑定事件</a> <div style=”display:none;”> 什么是绑定事件?这是隐藏的内容,点击上面的内容会显示这里的内容。 </div> <script language=”javascript”> //单击显示,再次点击隐藏 /*$(function(){ $(“a”).bind(‘click’,function(){ if($(this).next().is(“:visible”)){ $(this).next().h
苦咖啡
2018/05/07
3K0
jQuery事件处理
在jQuery中,事件处理是一项重要的功能,它使我们能够对元素的各种交互行为做出响应。jQuery提供了一系列方法来绑定、解绑和触发事件,以及操作事件对象。
堕落飞鸟
2023/05/18
9220
jQuery 事件注册、事件处理
其他事件和原生基本一致。 比如mouseover、mouseout、blur、focus、change、keydown、keyup、resize、scroll 等
梨涡浅笑
2020/10/27
4K0
jQuery基础--事件处理
简单事件绑定>>bind事件绑定>>delegate事件绑定>>on事件绑定(推荐)
eadela
2019/09/29
2.5K0
jQuery 事件注册与事件处理
因为普通注册事件方法的不足,jQuery又创建了多个新的事件绑定方法bind() / live() / delegate() / on()等,其中最好用的是: on(),重点讲解如下:
星辰_大海
2020/10/09
1.8K0
jQuery 事件注册与事件处理
jQuery 事件注册和事件处理
语法: element.事件(function(){}) $ ("div"). click (function(){事件处理程序 } 其他事件和原生基本-致。 比如mouseover. mouseout. blur. focus. change. keydown. keyup. resize. scroll 等
清出于兰
2020/10/26
4.4K0
jQuery:详解jQuery中的事件(一)
之前用过一些jQuery的动画和特效,但是用到的部分也不超过10%的样子,感觉好浪费啊——当然浪费的不是jQuery,而是Web资源。后来就想深入研究下jQuery的内部机理,读过两遍jQuery源代码,但是自觉还差的好远,跟好多大神(比如阮一峰)的理解还是有很大差距。现在就一点一点积累自己的知识体系,记录自己学到的和自己所理解的jQuery。
王金龙
2019/02/25
1.8K0
jQuery:详解jQuery中的事件(二)
  上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件、事件冒泡和事件移除等内容。
王金龙
2019/02/25
2.4K0
焦点事件中的Validating处理方法
本文转载:http://tech.it168.com/oldarticle/2006-04-03/200604031055437.shtml
跟着阿笨一起玩NET
2018/09/18
2.2K0
02-老马jQuery教程-jQuery事件处理
根据文章内容总结摘要。
老马
2017/12/27
6.6K0
02-老马jQuery教程-jQuery事件处理
02-老马jQuery教程-jQuery事件处理
1. 绑简单事件 在DOM中DOM0级绑定事件的方式是直接给事件属性赋值,但是这样有个缺点就是每次指定的事件处理程序会把之前的覆盖掉。 jQuery简单绑定事件的方式,可以让我绑定多个事件处理程序跟D
老马
2018/01/05
2.8K0
事件处理程序
IE实现了与DOM中类似的两个方法:attachEvent()和detachEvent()。
RiemannHypothesis
2022/10/31
7210
浅谈JavaScript的事件(事件处理程序)
  事件就是用户或者浏览器自身执行的某种动作。诸如click、load和mouseover,都是事件的名字。而响应某个事件的函数就叫事件处理程序。事件处理程序的名字以“on”开头,比如click事件的事件处理程序是onclick。为事件指定事件处理程序的方式有多种方式。 HTML事件处理程序 元素支持的事件,都可以使用与相应事件处理程序同名的HTML特性来指定。这个特性的值能支持一定的JavaScript代码。例如,在单击按钮的时候执行一些JavaScript代码。 <div id="aa" onclic
水击三千
2018/02/27
1.6K0
在React 中如何处理事件?
在 React 中处理事件有几种常见的方式,具体取决于你使用的是类组件还是函数组件。
王小婷
2023/10/08
3280
jQuery原理(事件操作相关方法)
on方法 // 事件操作相关方法 kjQuery.prototype.extend({ on: function (name, callBack) { this.each(function (key, ele) { // 2. 判断当前元素中是否有保存所有事件的对象 if (!ele.eventsCache) { ele.eventsCache = {}; }
Dreamy.TZK
2020/06/28
3190
jquery事件delegate()方法用法详解[通俗易懂]
我们先看官方是怎么说delegate()方法,delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数,使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
全栈程序员站长
2022/09/06
7390
JQuery中事件是否发生的判断
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/52916004
大黄大黄大黄
2018/09/14
1.5K0
Android事件处理方法总结-基于回调的事件处理
前面我们已经介绍了 Android事件处理方法总结-基于监听,这里我们总结一下 Android事件处理方法总结-基于回调
233333
2021/04/20
1.6K0
Android事件处理方法总结-基于回调的事件处理
JavaScript事件处理程序
事件就是用户或者浏览器执行的某种操作。我们常用的点击,滚动视口,鼠标滑动都是事件,为响应事件而调用的函数被称为事件处理程序,在js中事件处理程序的名字以 on 开头。
大熊G
2022/11/14
5870
在处理PowerBuilder的itemchanged事件中,acceptText的使用介绍[通俗易懂]
在窗口的itemchanged事件中,获取当前输入的值时,往往是无法拿到值的,此时值还没有提交,
全栈程序员站长
2022/09/06
1.4K0

相似问题

jQuery查找事件处理程序注册一个对象?

2367

在SQL Server数据库中删除部分日期时间的最佳方法?

2691

在Rails 3应用程序中添加页面特定JavaScript的最佳方法?

2322

使用NSLocalizedString的最佳方法?

2113

PHP中自动加载类的最佳方法

2245
相关问答用户
高级数据分析师擅长5个领域
擅长4个领域
擅长3个领域
萃橙科技 | 合伙人擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档