-
說一下我的理解:
trigger是自動執(zhí)行,triggerHandle也是自動執(zhí)行,這都知道了吧,
這一節(jié)讓我們區(qū)分它們之間的區(qū)別,trigger自動執(zhí)行是會有冒泡發(fā)生的,點擊button:first時候trigger自動執(zhí)行a的綁定事件click(就是點擊<a>),trigger是會冒泡的!所以點擊了<a>標(biāo)簽就點擊了它所在的<div>,<div>有alert的事件就會發(fā)生,聚焦事件就不說了;
再說一下,triggerHandle,他不會發(fā)生冒泡,所以當(dāng)點擊button:last時候呢,就不會出現(xiàn)alert啦,就僅僅是點擊了<a>標(biāo)簽和聚焦操作。
他們的作用呢,我覺得就是自動執(zhí)行了,比如加載網(wǎng)頁就要彈出什么一類的操作。
查看全部 -
冒泡不是從子元素往父元素冒泡么 怎么給父元素綁定click 子元素有行為
冒泡不是從子元素往父元素冒泡么 怎么給父元素綁定click 子元素有行為
這結(jié)果不正是事件冒泡機制的最終目的么~當(dāng)一個父元素下的多個子元素要表現(xiàn)出相同的效果的時候,利用冒泡機制給父元素綁定事件,以后你只要點擊子元素,都會冒泡到父元素,從而利用父元素綁定的事件~這樣就不用給每個子元素都去進行綁定,減少了代碼冗余呀~~
查看全部 -
this和e.target區(qū)別,求教
this指向的是監(jiān)聽事件的元素,e.target指向觸發(fā)事件的元素, 事件可以由ul觸發(fā),也可以由li觸發(fā),所以e.target可能是ul,也可能是li; 但無論是ul觸發(fā)還是li觸發(fā),都是由ul監(jiān)聽捕獲的,所以this指向ul
e.target指向當(dāng)前點擊的DOM元素,點擊哪個li就是哪個li,點擊ul就是ul.因為js是會冒泡的,所以點擊li的時候,this會變成ul.
查看全部 -
關(guān)于冒泡問題
之前章節(jié)里提到的冒泡事件是:子元素如果綁定了某一事件(比如說mouseover),如果子元素出觸發(fā)了mouseover事件,它會一直往上找父元素上的mouseover事件,如果父元素有mouseover事件,那么父元素的mouseover也會被觸發(fā)。也就是說父元素和子元素都綁定了相同事件才會出現(xiàn)冒泡現(xiàn)象。
但是這里的li元素并沒有綁定任何事件,怎么往上冒泡呢?換句話說,綁定的是ul元素,為什么起作用的是li元素?
事件這個東西應(yīng)該是稱之為“監(jiān)聽”更為恰當(dāng)。
當(dāng)單擊一個元素、或滑入滑出元素時,都會由該元素觸發(fā)事件,然后一層一層向上冒泡,如果一直到body都沒有遇到某元素去監(jiān)聽這個事件,那就沒有任何反應(yīng),如果該元素有監(jiān)聽該單擊事件,那就會知道這個事件,如果該元素的父代或祖代有添加監(jiān)聽事件,也會知道這個事件。
打個比喻,ABCDEF站成一排,A倒了一桶巧克力,從A流向F,
A用手沾了舔了舔,知道是甜的,A倒的
D用手沾了舔了舔,也知道是甜的,A倒的
這就是A和D監(jiān)聽了“倒一桶巧克力”這個事件
如果沒有任何人舔,那這桶巧克力一樣從A流向F
不存在綁定的說法,jquery只是處理觸發(fā)的事件,事件本身就有,如果不捕獲處理,事件會一直冒泡
這里只是在ul處理捕獲的事件,任何文檔對象如ul,li都可以觸發(fā)事件,只是在于是否捕獲處理
查看全部 -
textContent,,,為什么我不能用text()得到里里面的內(nèi)容
因為textContent是Dom對象,text()是jQuery方法
可以使用$(e.target).text()
查看全部 -
on綁定click事件和直接給元素綁定click事件有什么區(qū)別?
直接綁定一次只能對應(yīng)一個事件和一個函數(shù);如果用on綁定,一次可以進行多種事件的綁定,以及多種函數(shù)的選用
click()只對頁面已經(jīng)存在的元素起作用,動態(tài)生成的元素需要用到on,比如頁面中存在一個button,<button id='btn1' type='button'>btn1</button>,$('#btn1').click(....)是可以成功觸發(fā)的,但如果動態(tài)創(chuàng)建一個新的button比如這樣:$('#btn1').after("<button id='btn2' type='button'>btn2</button>"),調(diào)用$('#btn2').click時是不起作用的,on('click','#btn2',function())則可以正常觸發(fā)。
查看全部 -
按下的一瞬間時 文字還沒有輸入到文本框所以第一次下邊獲取不到這個值。簡單點說文字輸入進去文本框這個行為要慢于keydown事件。
e.target.value這句代碼怎么理解?
e.target表示該DOM元素,然后在獲取其相應(yīng)的屬性值。
查看全部 -
回車鍵或者點擊提交表單? ?會跳轉(zhuǎn)頁面? ?action="test.html"
回車鍵或者點擊提交表單,禁止瀏覽器默認(rèn)跳轉(zhuǎn)? action="destination.html"? ??
查看全部 -
target是當(dāng)前事件執(zhí)行的第一個具體DOM對象,這個DOM對象不變
this是事件冒泡到DOM樹的哪個對象,this就指向哪個對象,改變的
function中的參數(shù)e是怎么來的
e是event(事件)的意思,e.target就是事件的對象
查看全部 -
focusin(參數(shù)1,參數(shù)2),參數(shù)一是你要傳遞的數(shù)據(jù),參數(shù)二是你將數(shù)據(jù)傳遞給的函數(shù)a,函數(shù)a的第一個參數(shù)是事件對象,他的屬性data的值就是你傳遞的數(shù)據(jù),即參數(shù)1,我是這么理解的,希望對你有所幫助。
查看全部 -
輸入中文,不會觸發(fā)keypress事件,當(dāng)輸入字母、數(shù)字等ANSI字符會觸發(fā),中文就會顯示了,只輸入中文是不顯示的
查看全部 -
keydown是在鍵盤按下就會觸發(fā),獲取的是text是目標(biāo)的值,在你按下的時候執(zhí)行這個函數(shù),但是將一個字符輸入到目標(biāo)中是在按鍵松開的時候才寫入,所有每一次按下的時候都不會有當(dāng)前的按鍵字符顯示,
查看全部 -
click事件其實是由mousedown與mouseup 2個動作構(gòu)成,所以點擊的動作只有在松手后才觸發(fā)
查看全部 -
通過空格分離,傳遞不同的事件名,可以同時綁定多個事件
查看全部 -
.on? 綁定事件
第一個事件對應(yīng)一(多)個函數(shù)
一(多)個事件對應(yīng)一(多)個函數(shù)
查看全部
舉報