来自 关于计算机 2019-09-13 00:59 的文章
当前位置: 六合联盟网 > 关于计算机 > 正文

事件的命名空间轻巧了然

用 jQuery 绑定和平化解绑事件监听器都以特别简单的。然而当你为三个成分的四个事变绑定了四个监听器时,怎么着正确地解绑个中贰个监听器?大家必要明白一下平地风波的命名空间。

看上面这段代码:

复制代码 代码如下:

$('#element')
.on('click', doSomething)
.on('click', doSomethingElse);

像上面那样绑定事件监听器,当成分被点击时,doSomething 和 doSomethingElse 那多个监听器都会被触发。那是应用 jQuery 的叁个有益于之处,能够随时给成分的同二个事变增加分化的监听器。不像用 onclick 这样,新的监听器会覆盖旧的。

假设你想解绑当中两个监听器,举例 doSomething,如何做啊?

是这么呢?

复制代码 代码如下:

$('#element').off('click');

在意!下边那行代码会把成分的 click 事件的具备监听器全体解绑,而那并不是我们要的结果。

碰巧的是 jQuery 的 .off() 方法能够承受第2个参数,就好像 .on() 一样。只要把监听器函数的名字作为第贰个参数传入 .off() 方法,就可见解绑钦赐的监听器。

复制代码 代码如下:

$('#element').off('click', doSomething);

只是一旦您不精晓那些函数的名字,或然你用的是无名函数:

复制代码 代码如下:

$('#element').on('click', function() {
console.log('doSomething');
});

怎样技术正确地解绑某二个 click 事件监听器呢?
先上代码:

复制代码 代码如下:

$('#element').on('click.myNamespace', function() {
console.log('doSomething');
});

此地不光是把 click 事件作为参数字传送入 .on() 方法,而是给 click 事件钦点了三个命名空间,然后监听了这一个命名空间里的 click 事件。此时,纵然监听器是无名氏函数,实际上它也是 “ 有名 ” 的了。未来你能够像下边那样解绑某一个现实的命名空间里的平地风波监听器了。

复制代码 代码如下:

$('#element').off('click.myNamespace');

那是 jQuery 为我们提供的又多个惠及而壮大的功效,它的中间贯彻自然很风趣!

你可能感兴趣的篇章:

  • 实例解说jQuery中对事件的命名空间的选取
  • jquery利用命名空间移除绑定事件的不二等秘书诀
  • 在jquery中拍卖带有命名空间的XML数据
  • jQuery中绑定事件的命名空间详解
  • javascript,jquery闭包概念剖判
  • jQuery事件绑定.on()简要概述及选用
  • 至于jQuery新的事件绑定机制on()的利用本事
  • jquery 事件冒泡的牵线以及如何堵住事件冒泡
  • jquery事件机制扩张插件 jquery鼠标右键事件
  • jquery新的绑定事件机制on方法的利用格局
  • jQuery的缓存机制浅析
  • jQuery命名空间与闭包用法示例

本文由六合联盟网发布于关于计算机,转载请注明出处:事件的命名空间轻巧了然

关键词: