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