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

时间:2015-02-05 03:52:24

标签: javascript jquery events

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

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

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

在这里,我们可以看到有一个方法click对应于一个事件“点击”。根据{{​​3}}

,我可以看到http://api.jquery.com/category/events/列出了所有可以使用的jQuery事件方法。

虽然有一些事件我可以使用on()方法进行绑定而我在该方法类别中找不到,例如我无法找到{{1}我可以使用“输入”事件对应的方法:

input

问题

  1. 与jQuery的事件方法相对应的所有事件都是我可以使用$('#inputId').on('input',function(e){ alert('Changed!') }); 绑定的事件的子集吗?
  2. 我可以使用jQuery的on()方法绑定到哪个完整事件列表,是Looking for a full list of jQuery event types吗?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我发现此脚本适用于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');
    })
}