介紹
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上綁定的事件,並且取消瀏覽器對這個事件的預設操作,不會得到焦點。
總結
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或工作能帶來一定的幫助,如果有疑問大家可以留言交流。
更多jQuery中值得注意的trigger方法淺析相關文章請關注PHP中文網!