同一元素和事件中的多个函数

caa*_*os0 3 javascript jquery dom

如果我将一个元素中的多个函数添加到同一个事件中会发生什么?

举例:

jQuery('#searchButton').click(function(){ /* logic 1 */ );
jQuery('#searchButton').click(function(){ /* logic 2 */ );
Run Code Online (Sandbox Code Playgroud)
  1. 总是添加到事件的第一个函数将是第一个被调用的函数?
  2. 所有浏览器都支持这种类型的东西?
  3. 函数被异步调用?

谢谢

dav*_*vin 6

只是指出其他答案还没有的东西:jQuery确实通过仅将一个事件处理程序绑定到任何给定元素来保证事件将按照它们被添加的顺序触发(如John Hartsock的答案中所引用),并持有一个内部函数绑定范围(它具有能够删除匿名函数的额外优势,否则您将无法引用).这适用于所有浏览器.

但是,如果将其与任何其他库混合使用或直接使用DOM,则无法保证.该标准不要求实现遵循任何顺序,因此尽管许多实现内部的FIFO结构,但不能保证.标准的相关部分.