寻找jQuery事件类型的完整列表


74

我在哪里可以找到所有的jQuery支持的事件(如的完整列表clickmouseup与一些说明等),它们被触发时?我正在寻找可以绑定的那些:

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

例如,我只是偶然发现了paste事件,但在他们的文档中的任何地方都找不到任何引用。那里还有什么?


1
在3.0版中不推荐使用bind()方法。请改用on()方法。以下是jquery on()方法的链接:api.jquery.com/on
Bahman.A,

Answers:


48

不详尽的列表位于http://api.jquery.com/category/events/。通过.bind()和支持更多的DOM事件.live()。这些功能可以将处理程序分配给任何标准DOM事件,大多数事件都与兼容性表一起列出,网址http://www.quirksmode.org/dom/events/

.bind()方法是将行为附加到文档的主要方法。eventType允许使用所有JavaScript事件类型,例如焦点,鼠标悬停和调整大小。


在jQuery 1.7中,你应该使用.on()的地方.live().bind()


所有绑定事件都是我要寻找的(不是快捷功能)。也许我应该改一下我的问题。
塞格2010年

@ serg555:我添加了quirksmode.org链接,其中列出了大多数(如果不是全部)事件以及每个浏览器的兼容性表。请注意,Opera不支持该paste事件。
Andy E

仔细观察之后,看起来似乎已经过时了。例如,它说mouseleave仅在IE中有效,但事实并非如此。
塞格2010年

@ serg555:实际上mouseleave是由jQuery实现的,它不是标准事件。Firefox和Chrome不支持它,我尚未检查Safari和Opera。jQuery在那些浏览器中提供此事件。您说得对,但是,一些quirksmode.org的内容已过时。
安迪E

3
这个答案并不是最新的。touch例如,未列出事件。
Florian Margaine 2014年




0

我知道这个问题已经很老了。但是为了给这个问题一个更新而完整的答案。

快捷方式方法的名称始终与on()/ bind()/ live()方法中使用的事件名称相同

因此,如果要使用on()/ bind()/ live()之外的任何快捷方式事件功能,则只需采用方法名称,省略方括号,然后将其放在引号中,例如:“ eventname” /'eventname'。它们的行为应相同。

因此,例如:.dblclick()->'dblclick'=>

$('a').on('dblclick', function() {  
    console.log("I got double clicked");
});

http://api.jquery.com/category/events/是事件方法的完整列表。(是的,我知道我不是唯一指向此站点的人,但与我的解释一起,它实际上是“ on” /“ live” /“ bind”事件的完整列表)

如果您有机会使用on(),则应该这样做,因为on()会执行相同的操作,并且所有对“ bind”和“ live”的调用实际上都会调用“ on”函数。这里有更多关于此的证明:on和live或bind有什么区别?

也有人问到触摸(移动)事件。我一般建议习惯使用on()事件方法,因为根据jQuery移动文档,这是在html元素上注册触摸事件的唯一方法,这与jQuery将来删除bind()/ live( )和所有快捷方式事件方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.