jQuery中值得注意的trigger方法浅析
介绍
trigger方法的功能是在所选择的元素上触发指定类型的事件,其调用的语法格式为:trigger(type,[data])
,其中参数type为触发事件的类型,参数data为可选项,表示在触发事件时,传递给函数的附件参数.
常用模拟
有时,不需要进行操作,也想模拟用户操作达到某些效果。比如在用户进入界面后就触发click事件,而不需要用户去点击。
在jquery中可以使用trigger完成。
$("#btn").trigger("click")//触发id为btn的click事件 $("#btn").click()//简写
触发自定义事件
trigger不仅能触发浏览器支持的这些事件,也可以触发自定义的事件。比如,绑定一个名为clickMe的事件:
$("#btn").bind("clickMe",function(){ //.... }) $("#btn").trigger("clickMe")//触发该事件
传递数据
trigger(type,[data])
第一个参数指触发的事件类型,第二个是要传递给事件处理函数的附加数据,以数组形式传递。通常可以通过传递一个参数给回调函数来区别这次的事件是否为用户触发的。
<button id="btn">按钮</button> <p id="msg"></p> <script> $(function(){ $('#btn').bind("clickMe",function(event,msg1,msg2){ $("#msg").text(msg1+' '+msg2) }) $('#btn').trigger("clickMe",["hello","jquery"]) }) </script>
效果截图
执行默认操作
trigger()
方法触发事件后,会执行浏览器默认操作。比如
$('input').trigger('focus')
以上代码不仅会触发为input绑定的focus事件,也会触发浏览器中默认的focus事件,得到焦点。如果只想触发自定义的focus事件,使用triggerHandler()
$('input').triggerHandler('focus')
该方法仅仅会触发input上绑定的事件,并且取消浏览器对这个事件的默认操作,不会得到焦点。
总结
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关文章
基于jquery的button默认enter事件(回车事件)。
这里我介绍一下,button按钮默认回车(enter)事件。如果大家可以用submit,就不用看以下代码,因为submit可以直接默认回车事件(enter)2011-05-05解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
本篇文章是对在Jquery中把一段html代码动态写入到DIV中的实现方法进行了详细的分析介绍,需要的朋友可以参考下2013-07-07Jquery跨域获得Json时invalid label错误的解决办法
这两天用 Jquery 跨域取数据的时候,经常碰到 invalid label 这个错误,十分的郁闷,老是取不到服务器端发送回来的 json 值,一般跨域用到的两个方法为:$.ajax 和 $.getJson2011-01-01
最新评论