模擬操作trigger()

1.常用模擬

我們平時的click都是通過用戶點擊才能觸發(fā)click事件,但是有時候,我們想通過模擬用戶操作,來達到點擊的效果。比如在用戶進入頁面后,就會觸發(fā)click事件,而不需要用戶主動去單擊。

可以采用trigger()方法來完成模擬操作。

$('#sub').trigger('click');

當頁面裝載完畢后,就會立刻輸出想要的效果。

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

也可以直接用簡化寫法click(),來達到同樣的效果。

2.觸發(fā)自定義事件

trigger()方法不僅能觸發(fā)瀏覽器支持的具有相同名稱的事件,也可以觸發(fā)自定義名稱的事件。

比如為元素綁定一個“mClick”的事件

$('#sub').bind("myClick",function(){

$('#test').append("我的自定義事件");

});

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

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

trigger(type,[message]);

第一個參數(shù):觸發(fā)事件的類型

第二個參數(shù):傳遞給事件處理函數(shù)的附加數(shù)據(jù),以數(shù)組的形式傳遞

$('#sub').bind('myclick',function(event,message1,message2){

$('#test‘).append(message1+message2);

});

$('#sub’).trigger('myclick',["hello","world"]);

4.執(zhí)行默認操作

trigger()方法觸發(fā)事件后,會執(zhí)行瀏覽器默認行為。

比如$('input').trigger('focus');

以上代碼不僅會觸發(fā)input元素綁定的focus事件,還會使得input元素本身得到焦點(這是瀏覽器的默認行為)

如果只想觸發(fā)綁定的focus事件,而不想執(zhí)行瀏覽器的默認行為,可以使用另一種類似的方法

triggerHandler()方法。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • 總結: 鼠標事件 1.click與dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r閱讀 1,639評論 2 10
  • (續(xù)jQuery基礎(1)) 第5章 DOM節(jié)點的復制與替換 (1)DOM拷貝clone() 克隆節(jié)點是DOM的常...
    凜0_0閱讀 1,363評論 0 8
  • 下午收到書法課老師的信息,說你今天上課的狀態(tài)不錯。細細看了你臨摹的書法作品,果然進步不少,有些字都分不太清是...
    柳柳_8c81閱讀 248評論 0 0