1.常用模擬
我們平時的click都是通過用戶點擊才能觸發(fā)click事件,但是有時候,我們想通過模擬用戶操作,來達到點擊的效果。比如在用戶進入頁面后,就會觸發(fā)click事件,而不需要用戶主動去單擊。
可以采用trigger()方法來完成模擬操作。
$('#sub').trigger('click');
當頁面裝載完畢后,就會立刻輸出想要的效果。
$('#sub').click();
也可以直接用簡化寫法click(),來達到同樣的效果。
2.觸發(fā)自定義事件
trigger()方法不僅能觸發(fā)瀏覽器支持的具有相同名稱的事件,也可以觸發(fā)自定義名稱的事件。
比如為元素綁定一個“mClick”的事件
$('#sub').bind("myClick",function(){
$('#test').append("我的自定義事件");
});
$('#sub').trigger("myClick");
3.傳遞數(shù)據(jù)
trigger(type,[message]);
第一個參數(shù):觸發(fā)事件的類型
第二個參數(shù):傳遞給事件處理函數(shù)的附加數(shù)據(jù),以數(shù)組的形式傳遞
$('#sub').bind('myclick',function(event,message1,message2){
$('#test‘).append(message1+message2);
});
$('#sub’).trigger('myclick',["hello","world"]);
4.執(zhí)行默認操作
trigger()方法觸發(fā)事件后,會執(zhí)行瀏覽器默認行為。
比如$('input').trigger('focus');
以上代碼不僅會觸發(fā)input元素綁定的focus事件,還會使得input元素本身得到焦點(這是瀏覽器的默認行為)
如果只想觸發(fā)綁定的focus事件,而不想執(zhí)行瀏覽器的默認行為,可以使用另一種類似的方法
triggerHandler()方法。