W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在每一個(gè)匹配的元素上觸發(fā)某類事件。
這個(gè)函數(shù)也會(huì)導(dǎo)致瀏覽器同名的默認(rèn)行為的執(zhí)行。比如,如果用trigger()觸發(fā)一個(gè)'submit',則同樣會(huì)導(dǎo)致瀏覽器提交表單。如果要阻止這種默認(rèn)行為,應(yīng)返回false。
你也可以觸發(fā)由bind()注冊的自定義事件而不限于瀏覽器默認(rèn)事件。
事件處理函數(shù)會(huì)收到一個(gè)修復(fù)的(規(guī)范化的)事件對象,但這個(gè)對象沒有特定瀏覽器才有的屬性,比如keyCode。
jQuery也支持 命名空間事件。這允許你觸發(fā)或者解除綁定一組特定的事件處理函數(shù),而無需一一個(gè)指定。你可以在事件類型后面加上感嘆號 ! 來只觸發(fā)那些沒有命名空間的事件處理函數(shù)。
jQuery 1.3中新增:
所有觸發(fā)的事件現(xiàn)在會(huì)冒泡到DOM樹上了。舉例來說,如果你在一個(gè)段落p上觸發(fā)一個(gè)事件,他首先會(huì)在這個(gè)元素上觸發(fā),其次到父元素,在到父元素的父元素,直到觸發(fā)到document對象。這個(gè)事件對象有一個(gè) .target 屬性指向最開始觸發(fā)這個(gè)事件的元素。你可以用 stopPropagation() 來阻止事件冒泡,或者在事件處理函數(shù)中返回false即可。
事件對象構(gòu)造器現(xiàn)在已經(jīng)公開,并且你可以自行創(chuàng)建一個(gè)事件對象。這個(gè)事件對象可以直接傳遞給trigger所觸發(fā)的事件處理函數(shù)。事件對象的完整屬性列表可以在 jQuery.Event 的文檔里找到。
你可以有三種方式指定事件類型:
你可以傳遞字符串型的事件名稱(type參數(shù))。
你可以使用jQuery.Event對象。可以將數(shù)據(jù)放進(jìn)這個(gè)對象,并且這個(gè)對象可以被觸發(fā)的事件處理函數(shù)獲取到。
type:一個(gè)事件對象或者要觸發(fā)的事件類型
data:傳遞給事件處理函數(shù)的附加參數(shù)
事件發(fā)生時(shí)運(yùn)行的函數(shù)
提交第一個(gè)表單,但不用submit()
$("form:first").trigger("submit")
給一個(gè)事件傳遞參數(shù)
$("p").click( function (event, a, b) {
// 一個(gè)普通的點(diǎn)擊事件時(shí),a和b是undefined類型
// 如果用下面的語句觸發(fā),那么a指向"foo",而b指向"bar"
} ).trigger("click", ["foo", "bar"]);
下面的代碼可以顯示一個(gè)"Hello World"
$("p").bind("myEvent", function (event, message1, message2) {
alert(message1 + ' ' + message2);
});
$("p").trigger("myEvent", ["Hello","World!"]);
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: