自定义事件.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()来代替

原文地址:http://blog.51cto.com/lakaodekaola/2071872

时间: 2024-10-16 09:47:28

自定义事件.trigger()和.triggerHandler()的相关文章

trigger 和 triggerHandler(),自定义事件

1 trigger 和 triggerHandler(),自定义事件 2 语法: 3 $(selector).trigger(event,[param1,param2,...]) 4 1,event 必需.规定指定元素要触发的事件. 5 2,[param1,param2,...] 可选.传递到事件处理程序的额外参数. 6 7 额外的参数对自定义事件特别有用. 8 可以使自定义事件(使用 bind() 函数来附加),或者任何标准事件. 9 ======================== 10 t

219 jQuery事件处理: off() 解绑事件,trigger() 、triggerHandler() 自动触发事件

? 当某个事件上面的逻辑,在特定需求下不需要的时候,可以把该事件上的逻辑移除,这个过程我们称为事件解绑.jQuery 为我们提供 了多种事件解绑方法:die() / undelegate() / off() 等,甚至还有只触发一次的事件绑定方法 one(),在这里我们重点讲解一下 off() ; 语法 演示代码 <body> <div></div> <ul> <li>我们都是好孩子</li> <li>我们都是好孩子<

jQuery-3.事件篇---自定义事件

jQuery自定义事件之trigger事件 众所周知类似于mousedown.click.keydown等等这类型的事件都是浏览器提供的,通俗叫原生事件,这类型的事件是需要有交互行为才能被触发. 在jQuery通过on方法绑定一个原生事件 $('#elem').on('click', function() { alert("触发系统事件") }); alert需要执行的条件:必须有用户点击才可以.如果不同用户交互是否能在某一时刻自动触发该事件呢? 正常来说是不可以的,但是jQuery解

JQuery手动触发事件API之:通过代码看清trigger与triggerHandler的差别

本文只讨论JQuery如何手动触发DOM上绑定的事件处理函数,至于如何给DOM绑定事件处理函数,可以参考这篇文章.测试环境是IE11/FF17/Chrome39,JQuery版本是1.11.1和2.1.1都测试过. 下面这段js代码给button绑定了click事件处理函数,第一种是我们最常用的做法:第二种使用了自定义参数. // 绑定事件的时候不自定义参数 $("#button").bind("click",function(event){ alert("

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

jquery绑定自定义事件,可以实现预先绑定好一个处理方法,当需要使用的时候利用jquery trigger来触发自定义事件,以达到方便快捷的目的.我们来假设一个这样的场景,一个textarea中的字数计算,如果是直接键盘输入或者粘贴进来的话,是可以使用input方法检测到,但是如果是通过js插入的文本,这个时候input事件就监测不到了,这个时候如果我们事先给绑定一个myChange事件,它的回调函数就是来处理计算其中的文本字数的,我们在使用js给这个textarea赋值以后,连缀写上.tri

jQuery 事件 - trigger() 方法 和 triggerHandler() 方法

trigger() 方法触发被选元素的指定事件类型. triggerHandler() 方法触发被选元素的指定事件类型.但不会执行浏览器默认动作,也不会产生事件冒泡. triggerHandler() 方法与 trigger() 方法类似.不同的是它不会触发事件(比如表单提交)的默认行为,而且只影响第一个匹配元素. 不同之处: 它不会引起事件(比如表单提交)的默认行为 .trigger() 会操作 jQuery 对象匹配的所有元素,而 .triggerHandler() 只影响第一个匹配元素.

JQuery中事件one、bind、unbind、live、delegate、on、off、trigger、triggerHandler的各种使用区别

JQuery事件one,支持参数 1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>JQuery事件one,支持参数</tit

jquery中的trigger和triggerHandler区别

我们在jQuery基础教程之如何注册以及触发自定义事件这篇文章中,有用到今天要讲的trigger方法.今天我们来简单看看jquery中的trigger何triggerHandler方法的区别:trigger( event, [data] )在每一个匹配的元素上触发某类事件.这个函数也会导致浏览器同名的默认行为的执行.比如,如果用trigger()触发一个'submit',则同样会导致浏览器提交表单.如果要阻止这种默认行为,应返回false.你也可以触发由bind()注册的自定义事件 $("p&q

javascript和jquey的自定义事件小结

“通过事件机制,可以将类设计为独立的模块,通过事件对外通信,提高了程序的开发效率.” 可以把多个关联但逻辑复杂的操作利用自定义事件的机制灵活地控制好 对象之间通过直接方法调用来交互 1)对象A直接调用对象B的某个方法,实现交互:直接方法调用本质上也是属于一种特殊的发送与接受消息,它把发送消息和接收消息合并为一个动作完成: 方法调用方和被调用方被紧密耦合在一起:因为发送消息和接收消息是在一个动作内完成,所以无法做到消息的异步发送和接收: 2)对象A生成消息->将消息通知给一个事件消息处理器(Obs