jQuery中值得注意的trigger方法淺析
介紹
trigger方法的功能是在所選擇的元素上觸發(fā)指定類型的事件,其調(diào)用的語法格式為:trigger(type,[data])
,其中參數(shù)type為觸發(fā)事件的類型,參數(shù)data為可選項,表示在觸發(fā)事件時,傳遞給函數(shù)的附件參數(shù).
常用模擬
有時,不需要進行操作,也想模擬用戶操作達到某些效果。比如在用戶進入界面后就觸發(fā)click事件,而不需要用戶去點擊。
在jquery中可以使用trigger完成。
$("#btn").trigger("click")//觸發(fā)id為btn的click事件 $("#btn").click()//簡寫
觸發(fā)自定義事件
trigger不僅能觸發(fā)瀏覽器支持的這些事件,也可以觸發(fā)自定義的事件。比如,綁定一個名為clickMe的事件:
$("#btn").bind("clickMe",function(){ //.... }) $("#btn").trigger("clickMe")//觸發(fā)該事件
傳遞數(shù)據(jù)
trigger(type,[data])
第一個參數(shù)指觸發(fā)的事件類型,第二個是要傳遞給事件處理函數(shù)的附加數(shù)據(jù),以數(shù)組形式傳遞。通??梢酝ㄟ^傳遞一個參數(shù)給回調(diào)函數(shù)來區(qū)別這次的事件是否為用戶觸發(fā)的。
<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>
效果截圖
執(zhí)行默認操作
trigger()
方法觸發(fā)事件后,會執(zhí)行瀏覽器默認操作。比如
$('input').trigger('focus')
以上代碼不僅會觸發(fā)為input綁定的focus事件,也會觸發(fā)瀏覽器中默認的focus事件,得到焦點。如果只想觸發(fā)自定義的focus事件,使用triggerHandler()
$('input').triggerHandler('focus')
該方法僅僅會觸發(fā)input上綁定的事件,并且取消瀏覽器對這個事件的默認操作,不會得到焦點。
總結(jié)
好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
基于jquery的button默認enter事件(回車事件)。
這里我介紹一下,button按鈕默認回車(enter)事件。如果大家可以用submit,就不用看以下代碼,因為submit可以直接默認回車事件(enter)2011-05-05解析Jquery中如何把一段html代碼動態(tài)寫入到DIV中(實例說明)
本篇文章是對在Jquery中把一段html代碼動態(tài)寫入到DIV中的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友可以參考下2013-07-07jQuery實現(xiàn)在列表的首行添加數(shù)據(jù)
這篇文章主要介紹了jQuery實現(xiàn)在列表的首行添加數(shù)據(jù)的方法,十分的簡單,有需要的小伙伴可以參考下。2015-05-05Jquery跨域獲得Json時invalid label錯誤的解決辦法
這兩天用 Jquery 跨域取數(shù)據(jù)的時候,經(jīng)常碰到 invalid label 這個錯誤,十分的郁悶,老是取不到服務(wù)器端發(fā)送回來的 json 值,一般跨域用到的兩個方法為:$.ajax 和 $.getJson2011-01-01利用JQuery和Servlet實現(xiàn)跨域提交請求示例分享
這篇文章主要介紹了利用JQuery和Servlet實現(xiàn)跨域提交請求示例,需要的朋友可以參考下2014-02-02jQuery pager.js 插件動態(tài)分頁功能實例分析
這篇文章主要介紹了jQuery pager.js 插件動態(tài)分頁功能,結(jié)合具體實例形式分析了pager.js 插件的定義及使用插件進行分頁操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2019-08-08