在某些情況下,我們需要自動執行一些點擊事件。比如:一些 tab 一般是通過點擊事件來加載不同的數據內容。
而如果要頁面加載完直接顯示第三個 tab,怎么辦呢?此時就需要用到 jQuery 的模擬點擊事件。
要用到 jQuery 的 trigger 方法。 如:
$('#btn').trigger("click");
會自動執行 id 為 btn 的 click 事件。還可以寫成:
$('#btn').click();
trigger() 方法不僅可以觸發瀏覽器支持的同名事件,還可以支持自定義事件。如下:
$('#btn').bind("myClick", function(){
$('#test').append("<p>我的自定義事件.</p>");
});
綁定一個 myClick 自定義事件。
可以通過:
$('#btn').trigger("myClick");
來觸發模擬點擊。
trigger() 方法會觸發瀏覽器的默認事件。如下,不僅會執行用戶綁定的focus事件,還會執行瀏覽器的默認focus 事件,使 input 獲取焦點。
$("input").trigger("focus");
如果只想執行用戶綁定的 focus 事件,而不執行瀏覽器的默認事件,則可以通過 jQuery 的另外一個方法。triggerHandler() 來實現。
$("input").triggerHandler("focus");
此方法,只會執行綁定的 focus 事件,而取消 瀏覽器的默認事件。即,只執行focus事件,input 框不會獲取焦點。
