如何使用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 */ });