我在哪里可以找到所有的jQuery支持的事件(如的完整列表click
,mouseup
与一些说明等),它们被触发时?我正在寻找可以绑定的那些:
$('#foo').bind('click', handler);
例如,我只是偶然发现了paste
事件,但在他们的文档中的任何地方都找不到任何引用。那里还有什么?
Answers:
不详尽的列表位于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()
。
paste
事件。
mouseleave
仅在IE中有效,但事实并非如此。
mouseleave
是由jQuery实现的,它不是标准事件。Firefox和Chrome不支持它,我尚未检查Safari和Opera。jQuery在那些浏览器中提供此事件。您说得对,但是,一些quirksmode.org的内容已过时。
touch
例如,未列出事件。
MDN对大多数标准和非标准事件都有很好的概述
https://developer.mozilla.org/zh-CN/docs/Web/Reference/Events
您可以查看jQuery事件的完整列表:http : //api.jquery.com/category/events/
但是关于paste
您提到的事件,jQuery也可以绑定到标准DOM事件。MDN提供了一个很好的列表https://developer.mozilla.org/en-US/docs/Web/Events
据我所知,此页面列出了在所有浏览器中都有效的所有事件。您不会在这里找到“粘贴”事件,因为正如其他人指出的那样,该事件并非在所有浏览器中都有效。
http://www.authenticsociety.com/jquery/list-all-jquery-events.html
.mouseup()
按住鼠标按钮时,鼠标指针随时位于元素上方
我知道这个问题已经很老了。但是为了给这个问题一个更新而完整的答案。
快捷方式方法的名称始终与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( )和所有快捷方式事件方法。