1、定义一个自定义事件
$("#btn").bind("myClick", function(){ alert("click") ; }) //定义一个自定义点击事件
.bind("click", function(){ //当鼠标点击时,触发自定义点击事件
$(this).trigger("myClick");
});
2、定义一个带参数的自定义事件
$("#btn").bind("myClick", function(event, m1, m2){ //参数的第一个必须为event
alert("message1:" + m1 +", message2:" + m2);
}).bind("click", function(){
$(this).trigger("myClick", ["first", "second"]); //参数以数组形式传递
});
3、执行浏览器默认操作
triger()方法触发事件后,会执行浏览器默认操作。例如:
$("input").trigger("focus");
以上代码不仅会触发为input元素绑定的focus事件,也会使input元素本身得到焦点(浏览器默认操作)。
如果只想触发绑定的focus事件,而不想执行浏览器默认操作,可以使用jQuery中另一个类似的方法-triggerHandler()方法。
$("input").triggerHandler("focus");
该方法会触发input元素上绑定的特定事件,同时取消浏览器对此事件的默认操作,即文本框指触发绑定的focus事件,不会得到焦点。