亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JQuery自動(dòng)觸發(fā)事件的方法

 更新時(shí)間:2015年06月13日 11:45:23   作者:簡(jiǎn)明現(xiàn)代魔法  
這篇文章主要介紹了JQuery自動(dòng)觸發(fā)事件的方法,涉及trigger()方法完成模擬操作的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了JQuery自動(dòng)觸發(fā)事件的方法。分享給大家供大家參考。具體如下:

常用模擬

有時(shí)候,需要通過模擬用戶操作,來達(dá)到單擊的效果。例如在用戶進(jìn)入頁面后,就觸發(fā)click事件,而不需要用戶去主動(dòng)單擊。

在JQuery中,可以使用trigger()方法完成模擬操作。例如可以使用下面的代碼來觸發(fā)id為btn的按鈕的click事件。

$('#btn').trigger("click");

這樣,當(dāng)頁面加載完畢后,就會(huì)立刻輸出想要的效果。也可以直接簡(jiǎn)寫click(),來達(dá)到同樣的效果:

$('#btn').click();

觸發(fā)自定義事件

trigger()方法不僅能觸發(fā)瀏覽器支持的具有相同名稱的事件,也可以觸發(fā)自定義名稱的事件。例如為元素綁定一個(gè)“myClick”的事件,JQuery代碼如下:

$('#btn').bind("myClick", function(){ 
  $('#test').append("<p>我的自定義事件.</p>"); 
});

想要觸發(fā)這個(gè)事件,可以使用以下代碼來實(shí)現(xiàn):

$('#btn').trigger("myClick");

傳遞數(shù)據(jù)

trigger(type[,data])方法有兩個(gè)參數(shù),第1個(gè)參數(shù)是要觸發(fā)的事件類型,第2個(gè)參數(shù)是要傳遞給事件處理函數(shù)的附加數(shù)據(jù),以數(shù)組形式傳遞。通常可以通過傳遞一個(gè)參數(shù)給回調(diào)函數(shù)來區(qū)別這次事件是代碼觸發(fā)的還是用戶觸發(fā)的。

下面是一個(gè)傳遞數(shù)據(jù)的例子。

$(function(){ 
 $('#btn').bind("myClick", function(event, message1, message2){ 
     $('#test').append( "<p>"+message1 + message2 +"</p>");
 }); 
 $('#btn').click(function(){ 
  $(this).trigger("myClick",["我的自定義","事件"]); 
 }).trigger("myClick",["我的自定義","事件"]); 
})

執(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)操作,可以使用jQuery中另一個(gè)類似的方法——triggerHandler()方法。

$("input").triggerHandler("focus");

該方法會(huì)觸發(fā)<input>元素上綁定的特定事件,同時(shí)取消瀏覽器對(duì)此事件的默認(rèn)操作,即文本框只觸發(fā)綁定的focus事件,不會(huì)得到焦點(diǎn)。

希望本文所述對(duì)大家的jQuery程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論