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