JQuery 自動觸發事件

2022-05-06 10:00:08 字數 1860 閱讀 2775

常用模擬

有時候,需要通過模擬使用者操作,來達到單擊的效果。例如在使用者進入頁面後,就觸發click事件,而不需要使用者去主動單擊。

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

1

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

這樣,當頁面載入完畢後,就會立刻輸出想要的效果。也可以直接簡寫click(),來達到同樣的效果:

1

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

觸發自定義事件

trigger()方法不僅能觸發瀏覽器支援的具有相同名稱的事件,也可以觸發自定義名稱的事件。例如為元素繫結乙個「myclick」的事件,jquery**如下:

1

$('#btn').bind("myclick",function());

想要觸發這個事件,可以使用以下**來實現:

1

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

傳遞資料

trigger(type[,data])方法有兩個引數,第1個引數是要觸發的事件型別,第2個引數是要傳遞給事件處理函式的附加資料,以陣列形式傳遞。通常可以通過傳遞乙個引數給**函式來區別這次事件是**觸發的還是使用者觸發的。

下面是乙個傳遞資料的例子。

1

$(function());

5

$('#btn').click(function()).trigger("myclick",["我的自定義","事件"]);

8

})

執行預設操作

trigger()方法觸發事件後,會執行瀏覽器預設操作。例如:

1

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

以上**不僅會觸發為元素繫結的focus事件,也會使元素本身得到焦點(這是瀏覽器的預設操作)。

如果只想觸發繫結的focus事件,而不想執行瀏覽器預設操作,可以使用jquery中另乙個類似的方法——triggerhandler()方法。

1

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

該方法會觸發元素上繫結的特定事件,同時取消瀏覽器對此事件的預設操作,即文字框只觸發繫結的focus事件,不會得到焦點。

jQuery事件自動觸發

27 jquery事件自動觸發 title style father son style script src js jquery 1.12.4.js script script function father click function 自動觸發事件 father trigger click f...

Jquery手動觸發事件

有時可能需要用 機械式的觸發乙個按鈕 文字框或網頁中其他控制項的一些事件,這個在登入的時候很常用,登入介面通常有三個文字框 使用者名稱 密碼和驗證碼,另外還有乙個登入按鈕,很多時候我們想實現每當乙個文字框失去焦點的時候和後台互動查詢使用者名稱是否存在 密碼是否正確以及驗證碼是否正確等,但同時會有另外...

jQuery事件的觸發規則

很多用過jq的朋友都知道冒泡事件模型。很顯然,像click,mouseover這樣的事件在觸發子元素之後很多時候也會觸發父元素,因為,很多時候父元素包裹著子元素。jq是這樣解決的 比如目前網頁有 如下 click 這樣我們一旦點選了a元素,那麼按照jq的模式是這樣觸發click事件的 a span ...