jquery – 如何绑定DOM元素上的所有事件?

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

例:

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

解决方法

有一个简单(但不准确)的方式来测试所有事件:
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 */
});

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...