小tips:jquery中带命名空间的事件(namespaced events)

带命名空间的事件(namespaced events)在jQuery 1.2就被加入了,但是没有几个人用。

举个例子:

$(‘a‘).on(‘click‘, function() {
  // Handler 1
});
$(‘a‘).on(‘click‘, function() {
  // Handler 2
});

如果我们想要移除第二个handler, 使用$(‘a’).off(‘click’)确会把两个handler都移除掉!

但是如果使用带命名空间的事件,就可以搞定:

$(‘a‘).on(‘click.namespace1‘, function() {
  //Handler 1
});
$(‘a‘).on(‘click.namespace2‘, function() {
  //Handler 2
});

使用如下代码移除:

$(‘a‘).off(‘click.namespace2‘);
时间: 2024-10-26 18:57:45

小tips:jquery中带命名空间的事件(namespaced events)的相关文章

jquery中ajax的相关事件汇总

Jquery ajax事件分类 (一) 局部事件 local events 局部事件:在单个Ajax请求对象中绑定的事件,每一个 Ajax 请求对象可以根据需要绑定自己的局部事件 .局部事件只会被那个绑定该事件的 Ajax 对象触发,是属于单个 Ajax 对象的私有(即局部)事件.此类事件包括:beforeSend.complete.success.error. $.ajax({ beforeSend: function(){ // Handle the beforeSend event },

jQuery中四个绑定事件的区别 on,bind,live,delegate

1.jQ操作DOM元素的绑定事件的四种方式       jQ中提供了四种事件监听方式,bind.live.delegate.on,对应的解除监听的函数分别是unbind,die,undelegate,off 2.bind      $(selector).bind(event,data,function)      event:事件,必选,一个或多个事件:data:参数,可选: fn:绑定事件发生时执行的函数,必选 bind()是最直接的,存在最久的绑定方法      优点:兼容性好,任何浏览器

jQuery中让点击事件只触发一次($("").one("click",function(){});)

有时候该按钮要求只能进行一次点击操作,又不想通过代码逻辑来处理,判断次按钮是否被触发过,就可以用这个小技巧来写 jQuery代码 $(function () { $(":button").one("click", function () { //事件只触发一次 alert("dianle") }); }); <body> <input type="button" value="click"

jQuery中ready与load事件的区别

目录: 1ready与load谁先执行 2DOM文档加载的步骤 3ready事件 4load事件 5总结 概述: 大家在工作中用jQuery的时候一定会在使用之前这样: 1 2 3 4 5 6 7 8 //document ready $(document).ready(function(){     ...code... }) //document ready 简写 $(function(){     ...code... }) 有些时候也会这么写: 1 2 3 4 //document lo

对jQuery中on方法委托事件的理解

关于on方法中的委托事件,官方JQ API如下: http://api.jquery.com/on/#on-events-selector-data-handler 参考大牛阮一峰的博文: http://www.ruanyifeng.com/blog/2011/08/jquery_best_practices.html 什么时候使用委托事件: 1.对未被创建的元素添加事件监听 2.避免频繁添加或删除event handler,委托父元素来进行事件处理 使用委托事件的优点: 1.大量减少监听元素的

jQuery中的bind绑定事件与文本框改变事件的临时解决方法

暂时没有想到什么好的解决办法,我现在加了个浏览器判断非ie的话就注册blur事件,这样有个问题就是blur实在别的控件活动焦点的时候,txtStation控件注册的方法是为了填充它紧挨着的一个下拉列表一直没什么兴趣看jQuery,就用自己那点不咋样的javascript硬撑着,今天写一个功能时想尝试一下,用bind注册事件时发现怎么都不好使$("#txtStation").bind("onpropertychange", GetStationLevel); 复制代码

jQuery中ready与load事件

jQuery有3种针对文档加载的方法 $(document).ready(function() { // ...代码... }) //document ready 简写 $(function() { // ...代码... }) $(document).load(function() { // ...代码... }) 一个是ready一个是load,这两个到底有什么区别呢? ready与load谁先执行:大家在面试的过程中,经常会被问到一个问题:ready与load那一个先执行,那一个后执行?答

jQuery中两种阻止事件冒泡的区别

方式一:event.stopPropagation(); 方式二:return false; 但是这两种方式是有区别的.return false 不仅阻止了事件往上冒泡,而且阻止了事件本身.event.stopPropagation() 则只阻止事件往上冒泡,不阻止事件本身. 例子: 当文本输入框获取焦点后,在div1的mousedown事件中采用 event.stopPropagation(); 代码,我们鼠标单击红色区域后文本输入框光标失去.而当我们使用 return false; 代码时,

关于jquery中on绑定click事件在苹果手机失效的问题

用一个div当做了一个按钮来使用. <div class="button"> <div class=" next_button button_left btn_red" style="width: 345px;"> 下一步 </div> </div> 因为是动态添加的内容,所以想要使用click事件,需要给他用on绑定一下: $(document).on("click",&quo