簡(jiǎn)單的講, 加了第二個(gè)參數(shù)( selector )后, 如果觸發(fā)了事件( event ), 就調(diào)用函數(shù)(fn) ,并逐級(jí)向上冒泡查找還有沒(méi)有這個(gè)選擇器.
$('body').on('click', 'div', function(e) {
alert(this.className)
})
// aaron
// left
我們將第二個(gè)參數(shù)替換成div, 并顯示div的類名就很容易懂了
$('body').on('click', 'div', function(e) {
alert(this.className)
})
// aaron
// left
我們將第二個(gè)參數(shù)替換成div, 并顯示div的類名就很容易懂了
2017-07-29
可以再加一個(gè)
$("a").on("click", function() {
alert("這是a trigger觸發(fā)的事件");
});
對(duì)比看看結(jié)果就明白了。
$("a").on("click", function() {
alert("這是a trigger觸發(fā)的事件");
});
對(duì)比看看結(jié)果就明白了。
2017-07-28
trigger會(huì)冒泡,a冒泡到父div#accident,而父div#accident定義click事件,所以點(diǎn)擊第一個(gè)button會(huì)有alert,也觸發(fā)了input的focus(因?yàn)閕nput的focus事件 有定義),因?yàn)閠itle沒(méi)有傳值所以input的value沒(méi)有顯示;triggerHandler不會(huì)冒泡,$("a").triggerHandler("click"); 因?yàn)椴](méi)有定義a 的click事件,又因?yàn)椴粫?huì)冒泡,所以無(wú)法觸發(fā)父div content的click事件,觸發(fā)了input的focus是因?yàn)閕nput有定義focus,并且title有值所以input的value有值
2017-07-28
$("button:last").click(function() {
$("button:first").trigger('click','last');
}); 這個(gè)其實(shí)是點(diǎn)擊第二個(gè)button時(shí),觸發(fā)了第一個(gè)button的點(diǎn)擊事件,后面的'last' 說(shuō)明是last button觸發(fā)的,實(shí)際調(diào)用的仍然是$("button:first").click(function(event,bottonName) {};
$("button:first").trigger('click','last');
}); 這個(gè)其實(shí)是點(diǎn)擊第二個(gè)button時(shí),觸發(fā)了第一個(gè)button的點(diǎn)擊事件,后面的'last' 說(shuō)明是last button觸發(fā)的,實(shí)際調(diào)用的仍然是$("button:first").click(function(event,bottonName) {};
2017-07-28
已采納回答 / 櫻亦塵丶
因?yàn)閔tml頁(yè)面是從上往下解析的,如果放在head中,函數(shù)會(huì)獲取不到你想要的元素,解決方案一般可以在js代碼外面套一個(gè)window.onload=function(){}函數(shù)(頁(yè)面元素全部加載完以后再執(zhí)行js代碼)。相關(guān)知識(shí)可以去了解一下DOM樹(shù),我也是剛從那過(guò)來(lái)的。。。
2017-07-27
用觸發(fā)器與原生的事件的區(qū)別(以click為例):原生的需要用戶執(zhí)行一定的觸發(fā)條件(如點(diǎn)擊),才會(huì)執(zhí)行對(duì)應(yīng)的觸發(fā)事件(如click事件對(duì)應(yīng)的函數(shù)),而使用觸發(fā)器的話,可以自己設(shè)置其在代碼執(zhí)行的某個(gè)條件下觸發(fā) 請(qǐng)問(wèn)各位大神,這樣的理解是對(duì)的嗎?
2017-07-27
jQuery 1.7 版本前該方法觸發(fā) mouseenter 和 mouseleave 事件。
jQuery 1.8 版本后該方法觸發(fā) mouseover 和 mouseout 事件。
jQuery 1.8 版本后該方法觸發(fā) mouseover 和 mouseout 事件。
2017-07-26
jQuery 1.7 版本前該方法觸發(fā) mouseenter 和 mouseleave 事件。
jQuery 1.8 版本后該方法觸發(fā) mouseover 和 mouseout 事件。
jQuery 1.8 版本后該方法觸發(fā) mouseover 和 mouseout 事件。
2017-07-26