1,模拟操作
(1)常用模拟
在jQuery中可以用trigger() 方法来实现模拟操作。例如可以是用下面的代码来实现btn的click事件,
$("#btn").trigger("click");
也可以直接用简化写法click()方法来实现。示例代码如下:
$("#btn").click();
(2) 触发自定义事件
trigger()方法不仅能触发浏览器支持的具有相同名称的事件,也可以触发自定义名称的事件。
jQuery示例代码如下:
$("#btn").bind("myClick",function(){
//do something
})
要想触发这个事件,可以用一下代码来实现
$("#btn").trigger("myClick");
3,传递数据
jQuery示例代码如下:
$("#btn").bind("myClick",function(event,message1,message2){
//do something
alert(message1);
alert(message2);
})
要想触发这个事件,可以用一下代码来实现
$("#btn").trigger("myClick",message1,message2);
4,执行默认操作
trigger()方法触发后,会执行浏览器默认操作,如:
$("input").trigger("focus");
以上代码不仅会触发<input>
元素绑定的focus事件,而且也会使<input>
元素本身得到焦点(这是浏览器的默认操作)。
如果指向触发focus事件,而不想执行浏览器默认操作,可以使用jQuery中另一个类似的方法triggerHandler()方法,示例代码如下:
$("input").triggerHandler("focus");
2,其他操作
添加命名空间,便于管理
jQuery示例代码如下:
$("div").bind("click.plugin",funciton(){
//do something
}).bind("mouseover.plugin",function(){
//do something
})
在所绑定的事件类型后面添加命名空间,这样在删除绑定事件的时候只需要指定命名空间就行了。
相同事件,不同命空间,这样的话,删除某一个同名事件,只需要指定命名空间,而命名空间不同的事件仍然可以执行。
原文地址:http://blog.csdn.net/hanhailong18/article/details/46549977