自定义事件.trigger()和.triggerHandler()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义事件.trigger()和.triggerHandler()相关的知识,希望对你有一定的参考价值。

     自定义事件.trigger()和.triggerHandler()

1   .trigger()根据绑定到匹配元素的给定的事件类型执行所有的处理程序和行为,除了能够触发浏览器事件,同时还支持自定义事件,并且自定义时间还支持传递参数

2   trigger触发浏览器事件与自定义事件区别

    自定义事件对象,是jQuery模拟原生实现的
   自定义事件可以传递参数

3   alert的执行必须要有用户点击才可以

4   triggerHandler与trigger的用法是一样的,区别是

   triggerHandler不会触发浏览器的默认行为,.triggerHandler( "submit" )将不会调用表单上的.submit()
  .trigger() 会影响所有与 jQuery 对象相匹配的元素,而 .triggerHandler() 仅影响第一个匹配到的元素
  使用 .triggerHandler() 触发的事件,并不会在 DOM 树中向上冒泡。 如果它们不是由目标元素直接触发的,那么它就不会进行任何处理
  与普通的方法返回 jQuery 对象(这样就能够使用链式用法)相反,.triggerHandler() 返回最后一个处理的事件的返回值。如果没有触发任何事件,会返回 undefined

5   trigger的特性是会在DOM树上冒泡,如果要阻止冒泡,在事件处理程序中返回false或调用事件对象中的.stopPropagation()方法可以使事件停止冒泡

6   trigger具有触发原生与自定义能力,但是事件对象event无法完美的实现,因为一个是浏览器给的,一个是自己模拟的

7   .trigger()模拟事件对象,但他没有完美的复制自然发生的事件,如果要触发通过JQuery绑定的事件处理函数,而不触发原生的事件,使用.triggerHandler()来代替


以上是关于自定义事件.trigger()和.triggerHandler()的主要内容,如果未能解决你的问题,请参考以下文章

javascript 自定义事件$ .trigger()

jquery的自定义事件通过on绑定trigger触发

jquery同时trigger两个事件

zepto自定义事件

jQuery 的自定义事件

使用jQuery中trigger()方法自动触发事件