課程
/前端開發(fā)
/jQuery
/jQuery基礎(chǔ)(三)—事件篇
alert了一下發(fā)現(xiàn) 返回的都是undefined
2016-11-23
源自:jQuery基礎(chǔ)(三)—事件篇 7-2
正在回答
?$("input").on("focus",function(event,title)?{ ????????$(this).val(title); ????????return?5; ????}); ?$("#accident").on("click",function()?{ ????????alert("trigger觸發(fā)的事件會(huì)在?DOM?樹中向上冒泡"); ????????return?6; ????}); $("button:first").click(function()?{ ????????//$("a").trigger("click"); ????????//$("input").trigger("focus"); ????????alert($("input").triggerHandler("click")) ????}); $("button:last").click(function()?{ ???????//?$("a").triggerHandler("click"); ????????//$("input").triggerHandler("focus","沒(méi)有觸發(fā)默認(rèn)聚焦事件"); ????????alert($("input").triggerHandler("focus")); ????});
顯示 ,一個(gè)undefined,一個(gè)5.
first_btn ?: ?input 它沒(méi)有click事件,所以是undefined,input的上級(jí)div id=accident ,它是有click事件的,但是triggerHandler并不冒泡,所以也就無(wú)法傳到div id=accident 上,所以alert返回的只有undefined
last_btn ?: ? 同理 。
我將我們談?wù)摰降膬蓚€(gè)事件都設(shè)置了返回值為某個(gè)定值,然后再alert了button:last點(diǎn)擊事件的結(jié)果,發(fā)現(xiàn)triggerHandler指向的input的focus和click事件返回的都是undefined,也就是說(shuō)什么事件都沒(méi)有觸發(fā)。。。
$("input").on("focus",function(event,title) {return 5; });//如果觸發(fā)就返回5
$("#accident").on("click",function() {return 6; });//如果觸發(fā)就返回6
?alert($("input").triggerHandler("click"));//undefined
?alert($("input").triggerHandler("focus"http://undefined
qq_締曦_04032696
事實(shí)上這兩個(gè)都觸發(fā)了,但是沒(méi)有冒泡!但是沒(méi)有冒泡!但是沒(méi)有冒泡!
重要的事情說(shuō)三遍,沒(méi)冒泡,也就沒(méi)有作用到上層的<div id="accident">,沒(méi)作用到<div id="accident">也就不用觸發(fā)
$("#accident").on("click",function() {
? ? ? ? alert("trigger觸發(fā)的事件會(huì)在 DOM 樹中向上冒泡");
? ? });
了,所以,不會(huì)彈出alert窗口。
說(shuō)白了,就是一個(gè)冒泡的問(wèn)題。
格勞修斯 提問(wèn)者
在某些不希望觸發(fā)原生事件綁定函數(shù)的時(shí)候使用
舉報(bào)
jQuery第三階段開啟事件修煉,掌握對(duì)頁(yè)面進(jìn)行交互的操作
3 回答關(guān)于triggerHandler沒(méi)有觸發(fā)默認(rèn)的聚焦事件
3 回答為什么trigger沒(méi)有觸發(fā)input的foucus行為??
1 回答通過(guò)手動(dòng)觸發(fā)(如示例中的通過(guò)點(diǎn)擊button觸發(fā))select事件與鼠標(biāo)觸發(fā)有什么區(qū)別?
6 回答明明沒(méi)有target3這個(gè)class為什么監(jiān)聽(tīng)textarea還是可以觸發(fā)
1 回答這里為什么輸入框input中會(huì)出現(xiàn)“沒(méi)有觸發(fā)默認(rèn)聚焦事件”?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-11-25
顯示 ,一個(gè)undefined,一個(gè)5.
first_btn ?: ?input 它沒(méi)有click事件,所以是undefined,input的上級(jí)div id=accident ,它是有click事件的,但是triggerHandler并不冒泡,所以也就無(wú)法傳到div id=accident 上,所以alert返回的只有undefined
last_btn ?: ? 同理 。
2016-11-24
我將我們談?wù)摰降膬蓚€(gè)事件都設(shè)置了返回值為某個(gè)定值,然后再alert了button:last點(diǎn)擊事件的結(jié)果,發(fā)現(xiàn)triggerHandler指向的input的focus和click事件返回的都是undefined,也就是說(shuō)什么事件都沒(méi)有觸發(fā)。。。
$("input").on("focus",function(event,title) {return 5; });//如果觸發(fā)就返回5
$("#accident").on("click",function() {return 6; });//如果觸發(fā)就返回6
?alert($("input").triggerHandler("click"));//undefined
?alert($("input").triggerHandler("focus"http://undefined
2016-11-24
事實(shí)上這兩個(gè)都觸發(fā)了,但是沒(méi)有冒泡!但是沒(méi)有冒泡!但是沒(méi)有冒泡!
重要的事情說(shuō)三遍,沒(méi)冒泡,也就沒(méi)有作用到上層的<div id="accident">,沒(méi)作用到<div id="accident">也就不用觸發(fā)
$("#accident").on("click",function() {
? ? ? ? alert("trigger觸發(fā)的事件會(huì)在 DOM 樹中向上冒泡");
? ? });
了,所以,不會(huì)彈出alert窗口。
說(shuō)白了,就是一個(gè)冒泡的問(wèn)題。
2016-11-24
在某些不希望觸發(fā)原生事件綁定函數(shù)的時(shí)候使用