麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

jQuery 事件的命名空間簡單了解

2019-11-20 21:36:24
字體:
來源:轉載
供稿:網友
用 jQuery 綁定和解綁事件監聽器都是非常簡單的。但是當你為一個元素的一個事件綁定了多個監聽器時,怎樣精確地解綁其中一個監聽器?我們需要了解一下事件的命名空間。

看下面這段代碼:
復制代碼 代碼如下:

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

像上面這樣綁定事件監聽器,當元素被點擊時,doSomething 和 doSomethingElse 這兩個監聽器都會被觸發。這是使用 jQuery 的一個便利之處,可以隨時給元素的同一個事件添加不同的監聽器。不像用 onclick 那樣,新的監聽器會覆蓋舊的。

如果你想解綁其中一個監聽器,比如 doSomething,怎么做呢?

是這樣嗎?
復制代碼 代碼如下:

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

注意!上面這行代碼會把元素的 click 事件的所有監聽器全部解綁,而這并不是我們要的結果。

幸運的是 jQuery 的 .off() 方法可以接受第二個參數,就像 .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 為我們提供的又一個方便而強大的功能,它的內部實現肯定很有意思!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 看一级大毛片 | 中文字幕 亚洲一区 | 性爱视频在线免费 | 亚洲网站免费观看 | 成人福利视频网站 | 国产精品成人免费一区久久羞羞 | 激情网站视频 | 99影视在线视频免费观看 | 欧美日韩成人一区二区 | 毛片免费视频播放 | 九九热精品在线播放 | 中文字幕线观看 | 午夜视频你懂的 | 免费看一级视频 | 日本欧美一区二区三区在线播 | 猫咪av在线 | 欧美人一级淫片a免费播放 久久久久久久久91 国产99久久久久久免费看 | 成人勉费视频 | 日韩视频观看 | 大胆在线日本aⅴ免费视频 美国黄色毛片女人性生活片 | 国产在线精品区 | 欧美三日本三级少妇三级99观看视频 | 一级成人欧美一区在线观看 | 在线视频观看国产 | 91精品一区二区综合在线 | 成熟女人特级毛片www免费 | 欧美激情性色生活片在线观看 | 国产一区二区三区黄 | 亚洲成人精品区 | 中国hdxxxx护士爽在线观看 | 玖玖视频精品 | 妇女毛片 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | 加勒比色综合 | 国产精品区一区二区三区 | 九九热在线观看视频 | 羞羞视频免费网站含羞草 | 久久免费视频5 | 亚洲第一激情网 | 日韩视频二区 | 羞羞视频免费网站 |