介紹
trigger方法的功能是在所選擇的元素上觸發指定類型的事件,其調用的語法格式為:trigger(type,[data])
,其中參數type為觸發事件的類型,參數data為可選項,表示在觸發事件時,傳遞給函數的附件參數.
常用模擬
有時,不需要進行操作,也想模擬用戶操作達到某些效果。比如在用戶進入界面後就觸發click事件,而不需要用戶去點擊。
在jquery中可以使用trigger完成。
$("#btn").trigger("click")//觸發id為btn的click事件 $("#btn").click()//簡寫
觸發自定義事件
trigger不僅能觸發浏覽器支持的這些事件,也可以觸發自定義的事件。比如,綁定一個名為clickMe的事件:
$("#btn").bind("clickMe",function(){ //.... }) $("#btn").trigger("clickMe")//觸發該事件
傳遞數據
trigger(type,[data])
第一個參數指觸發的事件類型,第二個是要傳遞給事件處理函數的附加數據,以數組形式傳遞。通常可以通過傳遞一個參數給回調函數來區別這次的事件是否為用戶觸發的。
<button id="btn">按鈕</button> <p id="msg"></p> <script> $(function(){ $('#btn').bind("clickMe",function(event,msg1,msg2){ $("#msg").text(msg1+' '+msg2) }) $('#btn').trigger("clickMe",["hello","jquery"]) }) </script>
效果截圖
執行默認操作
trigger()
方法觸發事件後,會執行浏覽器默認操作。比如
$('input').trigger('focus')
以上代碼不僅會觸發為input綁定的focus事件,也會觸發浏覽器中默認的focus事件,得到焦點。如果只想觸發自定義的focus事件,使用triggerHandler()
$('input').triggerHandler('focus')
該方法僅僅會觸發input上綁定的事件,並且取消浏覽器對這個事件的默認操作,不會得到焦點。
總結
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。