有時候,需要通過模擬用戶操作,來達到點擊的效果,例如用戶進入頁面后
就觸發click事件,而無需主動點擊。
比如以下代碼:
<body> <a onclick="javascript:document.getElementById('d').innerHTML='x1'">點擊1</a> <a onclick="javascript:document.getElementById('d').innerHTML='x2'">點擊2</a> <a onclick="javascript:document.getElementById('d').innerHTML='x3'">點擊3</a> </br> <span id="d"></span> </body>
實現效果為'點擊1'頁面上將顯示x1 ,'點擊2'頁面上顯示x2 …
但需要實現首次進入頁面為默認是'點擊1'
在jQuery中,可以使用trigger()方法完成模擬操作。
例如可以使用下面的代碼來觸發A鏈接的click事件。
$('a').first().trigger("click");
這樣 當頁面加載完畢后,觸發第一個A鏈接的click事件,頁面將顯示x1
觸發自定義事件
trigger()方法不僅能觸發瀏覽器支持的具有相同名稱的事件,也可以觸發自定義名稱的事件。
例如為元素綁定一個”myEvent”的事件,jQuery代碼如下:
$('#btn').bind("myEvent", function(){ alert("自定義事件"); });
想要觸發這個事件,可以使用以下代碼來實現:
$('#btn').trigger("myEvent");
傳遞數據
trigger(type,[data])方法有兩個參數,
第1個是事件對象或者要觸發的事件類型,
第2個參數是傳遞給事件處理函數的附加參數,以數組形式傳遞。通常可以通過傳遞一個參數給
回調函數來區別這次事件是代碼觸發的還是用戶觸發的。
下面是一個傳遞數據的例子。
$('#btn').bind("myEvent", function(event,message1,message2){ alert(message1 + "," + message2); }); $('#btn').trigger("myEvent", ["Hello","World!"]);
以上就是jQuery自動觸發事件trigger的使用方法,希望對大家的學習有所幫助。