jQuery中值得注意的trigger方法淺析
介紹
trigger方法的功能是在所選擇的元素上觸發(fā)指定類型的事件,其調(diào)用的語(yǔ)法格式為:trigger(type,[data])
,其中參數(shù)type為觸發(fā)事件的類型,參數(shù)data為可選項(xiàng),表示在觸發(fā)事件時(shí),傳遞給函數(shù)的附件參數(shù).
常用模擬
有時(shí),不需要進(jìn)行操作,也想模擬用戶操作達(dá)到某些效果。比如在用戶進(jìn)入界面后就觸發(fā)click事件,而不需要用戶去點(diǎn)擊。
在jquery中可以使用trigger完成。
$("#btn").trigger("click")//觸發(fā)id為btn的click事件 $("#btn").click()//簡(jiǎn)寫
觸發(fā)自定義事件
trigger不僅能觸發(fā)瀏覽器支持的這些事件,也可以觸發(fā)自定義的事件。比如,綁定一個(gè)名為clickMe的事件:
$("#btn").bind("clickMe",function(){ //.... }) $("#btn").trigger("clickMe")//觸發(fā)該事件
傳遞數(shù)據(jù)
trigger(type,[data])
第一個(gè)參數(shù)指觸發(fā)的事件類型,第二個(gè)是要傳遞給事件處理函數(shù)的附加數(shù)據(jù),以數(shù)組形式傳遞。通??梢酝ㄟ^(guò)傳遞一個(gè)參數(shù)給回調(diào)函數(shù)來(lái)區(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í)行默認(rèn)操作
trigger()
方法觸發(fā)事件后,會(huì)執(zhí)行瀏覽器默認(rèn)操作。比如
$('input').trigger('focus')
以上代碼不僅會(huì)觸發(fā)為input綁定的focus事件,也會(huì)觸發(fā)瀏覽器中默認(rèn)的focus事件,得到焦點(diǎn)。如果只想觸發(fā)自定義的focus事件,使用triggerHandler()
$('input').triggerHandler('focus')
該方法僅僅會(huì)觸發(fā)input上綁定的事件,并且取消瀏覽器對(duì)這個(gè)事件的默認(rèn)操作,不會(huì)得到焦點(diǎn)。
總結(jié)
好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
- jQuery實(shí)現(xiàn)金額錄入框
- jQuery 獲取select選中值及清除選中狀態(tài)
- jQuery內(nèi)存泄露解決辦法
- 淺析Jquery操作select
- jQuery中animate的幾種用法與注意事項(xiàng)
- jQuery實(shí)現(xiàn)字符串全部替換的方法
- 簡(jiǎn)單實(shí)現(xiàn)jquery焦點(diǎn)圖
- 基于jquery實(shí)現(xiàn)的鼠標(biāo)懸停提示案例
- jquery滾動(dòng)條插件(可以自定義)
- jquery實(shí)現(xiàn)簡(jiǎn)單的瀑布流布局
- 基于jQuery實(shí)現(xiàn)的查看全文功能【實(shí)用】
- jQuery學(xué)習(xí)筆記之入門
相關(guān)文章
3分鐘寫出來(lái)的Jquery版checkbox全選反選功能
checkbox全選反選的文章在以前也有介紹很多,實(shí)在是不想在提起了,然而身邊還是有些朋友不會(huì),于是3分鐘寫出來(lái)一個(gè)估計(jì)有很多bug2013-10-10基于jquery的button默認(rèn)enter事件(回車事件)。
這里我介紹一下,button按鈕默認(rèn)回車(enter)事件。如果大家可以用submit,就不用看以下代碼,因?yàn)閟ubmit可以直接默認(rèn)回車事件(enter)2011-05-05解析Jquery中如何把一段html代碼動(dòng)態(tài)寫入到DIV中(實(shí)例說(shuō)明)
本篇文章是對(duì)在Jquery中把一段html代碼動(dòng)態(tài)寫入到DIV中的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07jQuery實(shí)現(xiàn)在列表的首行添加數(shù)據(jù)
這篇文章主要介紹了jQuery實(shí)現(xiàn)在列表的首行添加數(shù)據(jù)的方法,十分的簡(jiǎn)單,有需要的小伙伴可以參考下。2015-05-05Jquery跨域獲得Json時(shí)invalid label錯(cuò)誤的解決辦法
這兩天用 Jquery 跨域取數(shù)據(jù)的時(shí)候,經(jīng)常碰到 invalid label 這個(gè)錯(cuò)誤,十分的郁悶,老是取不到服務(wù)器端發(fā)送回來(lái)的 json 值,一般跨域用到的兩個(gè)方法為:$.ajax 和 $.getJson2011-01-01jquery 觸發(fā)a鏈接點(diǎn)擊事件解決方案
使用jquery為a連接綁定點(diǎn)擊事件,具體代碼如下,感興趣的朋友可以參考下,希望可以幫助到你2013-05-05利用JQuery和Servlet實(shí)現(xiàn)跨域提交請(qǐng)求示例分享
這篇文章主要介紹了利用JQuery和Servlet實(shí)現(xiàn)跨域提交請(qǐng)求示例,需要的朋友可以參考下2014-02-02jQuery pager.js 插件動(dòng)態(tài)分頁(yè)功能實(shí)例分析
這篇文章主要介紹了jQuery pager.js 插件動(dòng)態(tài)分頁(yè)功能,結(jié)合具體實(shí)例形式分析了pager.js 插件的定義及使用插件進(jìn)行分頁(yè)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-08-08