可以是bind()/on()/live(),jQuery的事件的完整列表

Full list of events that can be bind()/on()/live(),jQuery

本文关键字:事件 列表 jQuery on bind live      更新时间:2023-09-26

我是jQuery的新手,我知道我可以使用以下方式设置点击事件的处理程序:

$('#foo').bind('click', handler);

$('#foo').click(handler);

在这里,我们可以看到有一个方法click对应于一个事件"点击"。我可以看到这里列出了所有可以刚性化的jQuery事件方法http://api.jquery.com/category/events/根据查找jQuery事件类型的完整列表

虽然有些事件我可以使用on()方法绑定,但我在该方法类别中找不到,例如,我无法找到与"输入"事件对应的input方法,而我可以:

$('#inputId').on('input',function(e){
     alert('Changed!')
 });

问题

  1. jQuery的事件方法对应的所有事件是否都是我可以使用on()绑定的事件的子集
  2. 我可以使用jQuery的on方法绑定到哪些完整的事件列表,是吗https://developer.mozilla.org/en-US/docs/Web/Events

您可以绑定到浏览器在DOM元素上支持的任何事件。链接到的页面包含所有标准DOM事件,但浏览器也可能提供自己的实现相关事件。例如,该页面还有一个标题为Mozilla特定事件的部分。对于其他浏览器,您必须找到它们的开发人员文档。

如果您可以在Javascript中使用本机addEventListener方法绑定事件,则可以在jQuery中使用.on()进行绑定。

我发现这个脚本适用于Chrome、Firefox和IE11

function getEventList(dom) {
    return Object.getOwnPropertyNames(dom).concat(Object.getOwnPropertyNames(Object.getPrototypeOf(Object.getPrototypeOf(dom)))).filter(function (i) {
        return !i.indexOf('on') && (dom[i] == null || typeof dom[i] == 'function');
    })
}