亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何綁定DOM元素上的所有事件?

如何綁定DOM元素上的所有事件?

如何綁定DOM元素上的所有事件?我怎樣才能綁定所有的事件(即click,keypress,mousedown一個DOM元素),使用jQuery,沒有單獨列出每一個出來?例:$('#some-el').bind('all events', function(e) {     console.log(e.type);});
查看完整描述

3 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

有一種簡單(但不準確)的方法來測試所有事件:

function getAllEvents(element) {
    var result = [];
    for (var key in element) {
        if (key.indexOf('on') === 0) {
            result.push(key.slice(2));
        }
    }
    return result.join(' ');}

然后綁定所有這樣的事件:

var el = $('#some-el');el.bind(getAllEvents(el[0]), function(e) {
    /* insert your code */});


查看完整回答
反對 回復 2019-08-19
?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

jQuery改變了它保存事件的方式,有幾種方法可以根據你使用的版本提取列表。我在插件中封裝了“最新”版本,但基本上你想要:

var events = $._data($('yourelement')[0], "events");

這給出了所有綁定事件的嵌套列表,按“基”事件(無命名空間)分組。

但是,我只是意識到你想要所有本機jQuery事件 - 你可以檢查$.event,其中有一些在下$.event.special,但接受的答案可能仍然是你最好的選擇。您還可以查看jQuery列出的綁定函數。


查看完整回答
反對 回復 2019-08-19
  • 3 回答
  • 0 關注
  • 523 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號