this和event.target。的區別
this和event.target的區別:? js中事件是會冒泡的,所以this是可以變化的,但event.target不會變化,它永遠是直接接受事件的目標DOM元素;
? ? 這個課程里面是不是寫錯了?????this應該是不變的啊? ?event.target是改變的啊
請指教下,謝謝?。?!
this和event.target的區別:? js中事件是會冒泡的,所以this是可以變化的,但event.target不會變化,它永遠是直接接受事件的目標DOM元素;
? ? 這個課程里面是不是寫錯了?????this應該是不變的啊? ?event.target是改變的啊
請指教下,謝謝?。?!
2018-06-26
舉報
2018-06-28
我的理解是? ?this? 是指 通過 $() 來的? ? 而event.target? ?是 從 事件 里的?
例如? ?$('ul')? this? 就是 ul? 然后 點擊了 ul 下 的 li? 觸發 出了? event.target? 這個? this 不會變? ?event.target? 是由 事件發生者? 來的 可變
2018-08-05
前面說的不太對,在事件處理程序內部,this始終等于event.currentTarget,而event.target只包含事件的實際目標。
如果直接將事件處理程序制定給了目標元素,那么this、currentTarget、target指向是相同的。如鼠標單擊事件,$(#btn).click(function(){…………})由于click事件的目標是按鈕,事件處理程序也制定給了按鈕,所以三個值相同。
如果事件處理程序存在于按鈕的父節點中,那么值是不同的。例如:
$(body).click(function() {………………})那么此時點擊按鈕元素,this和event.currentTarget都指向document.body,event.target指向按鈕元素。