本文介绍了如何绑定DOM元素上的所有事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何绑定所有事件(即点击按键 mousedown )在一个DOM元素上,使用jQuery,而不单独列出每一个?

How can I bind all events (i.e. click, keypress, mousedown) on a DOM element, using jQuery, without listing each one out individually?

示例:

$('#some-el').bind('all events', function(e) {
    console.log(e.type);
});


推荐答案

有一种简单(但不准确)的方法测试所有事件:

there is a simple (but not accurate) way to test all events:

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

然后绑定所有这样的事件:

then bind all events like this:

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

这篇关于如何绑定DOM元素上的所有事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 14:48