JQuery 自动触发事件
2014-05-25 17:18
330 查看
常用模拟
有时候,需要通过模拟用户操作,来达到单击的效果。例如在用户进入页面后,就触发click事件,而不需要用户去主动单击。在JQuery中,可以使用trigger()方法完成模拟操作。例如可以使用下面的代码来触发id为btn的按钮的click事件。
1 | $( '#btn' ).trigger( "click" ); |
1 | $( '#btn' ).click(); |
触发自定义事件
trigger()方法不仅能触发浏览器支持的具有相同名称的事件,也可以触发自定义名称的事件。例如为元素绑定一个“myClick”的事件,JQuery代码如下:1 | $( '#btn' ).bind( "myClick" , function (){ |
2 | $( '#test' ).append( "<p>我的自定义事件.</p>" ); |
3 | }); |
1 | $( '#btn' ).trigger( "myClick" ); |
传递数据
trigger(type[,data])方法有两个参数,第1个参数是要触发的事件类型,第2个参数是要传递给事件处理函数的附加数据,以数组形式传递。通常可以通过传递一个参数给回调函数来区别这次事件是代码触发的还是用户触发的。下面是一个传递数据的例子。
1 | $( function (){ |
2 | $( '#btn' ).bind( "myClick" , function (event, |
3 | $( '#test' ).append( "<p>" +message1 "</p>" ); |
4 | }); |
5 | $( '#btn' ).click( function (){ |
6 | $( this ).trigger( "myClick" ,[ "我的自定义" , "事件" ]); |
7 | }).trigger( "myClick" ,[ "我的自定义" , "事件" ]); |
8 | }) |
执行默认操作
trigger()方法触发事件后,会执行浏览器默认操作。例如:1 | $( "input" ).trigger( "focus" ); |
如果只想触发绑定的focus事件,而不想执行浏览器默认操作,可以使用jQuery中另一个类似的方法——triggerHandler()方法。
1 | $( "input" ).triggerHandler( "focus" ); |
例子:
<body>
[#include"/shop/include/footer.ftl"/]
<scripttype="text/javascript">
$(function(){
$("#paymentMethoddd:eq(0)").click(function(){
$(this).addClass("selected");
});
$("#shippingMethoddd:eq(0)").click(function(){
$(this).addClass("selected");
});
});
</script>
</body>
相关文章推荐
- JQuery 自动触发事件
- JQuery 自动触发事件
- JQuery 自动触发事件
- jQuery自动触发事件
- jQuery实现自动调用和触发某个事件的方法
- JQuery 自动触发事件
- jQuery自动触发事件trigger使用
- jquery 获取所有兄弟节点、父亲兄弟的子节点以及自动触发事件
- jQuery如何使用自动触发事件trigger
- jquery自动触发事件
- 自动触发事件--jQuery事件处理
- jQuery自动触发事件trigger使用
- JQuery自动触发事件的方法
- JQuery 自动触发事件
- 自动触发事件--jQuery事件处理
- JQuery 自动触发事件
- JQuery 自动触发事件
- jQuery 自动触发事件
- jquery自动触发事件trigger
- jquery 自动触发事件 trigger