成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術文章
文章詳情頁

javascript - 事件函數中this指向

瀏覽:124日期:2023-06-05 10:16:35

問題描述

javascript - 事件函數中this指向

<!DOCTYPE HTML><html lang='en-US'><head> <meta charset='UTF-8'> <title></title></head><body><h2 onmousedown = 'f1(this)'>事件中的this</h2> <script type='text/javascript'>var h2 = document.getElementsByTagName(’h2’)[0];//HTML方式綁定function f1(obj){ console.log(obj);}f1( this );/*//DOM 0級綁定方式h2.onclick = function(){ console.log(this);}//DOM 2級方式h2.addEventListener(’mouseover’,function(){ console.log(this);});*/ </script> </body></html>

問題解答

回答1:

javascript的this跟函數定義在哪里無關,跟誰調用它有關。

回答2:

h2那里因為是綁定在事件上的,因此 this 指向的是這個元素,你可以簡單理解為是

var dom = document.getElementsByTagName(’h2’)dom.onmousedown = function(){ f1(this)}回答3:

http://www.cnblogs.com/soulii...看看這個

回答4:

前者相當于`請輸入代碼

var h2 = document.querySelectorAll('h2')[0];function fn(){ console.log(this);}h2.onmousedown = fn;window.fn();

this指向調用它的對象,你定義在全局環境里的變量和函數默認是window對象下得屬性和方法,所以當你在全局環境中執行fn()時this指向window

回答5:

你獲取到哪個dom,就是對應的this。

回答6:

這兩個不是一回事呀。

<h2 onmousedown='f1(this)'></h2>h2.onmouseover=f1()h2.addEventListern(f1)

這三種方式都是為h2綁定了一個mouseover事件發生時的名為f1回調函數,事件綁定的回調函數指向DOM元素本身。

你問題中的

//HTML方式綁定function f1(obj){ console.log(obj);}f1( this );

這段程序是在window作用域下運行的,this自然就指向window。這段代碼跟h2無關了(未綁定)。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 五月久久亚洲七七综合中文网 | 自拍网在线 | 国产精品在线观看 | 午夜欧美成人香蕉剧场 | 欧美一级毛片美99毛片 | 免费观看成人毛片 | 国产精品久久久久久久久久直 | 国自产精品手机在线视频香蕉 | 亚洲第一大网站 | 亚洲免费大全 | 99久久99久久精品免费看子 | 亚洲成a人片在线观看中文!!! | 久久精品一区二区三区不卡牛牛 | 国内自拍视频一区二区三区 | 国产区久久 | 欧美 亚洲 另类 自拍 在线 | 午夜亚洲精品 | 久久久久久久久性潮 | 成年男女拍拍拍免费视频 | 日本欧美韩国一区二区三区 | 久久狠狠一本精品综合网 | 一区二区三区视频在线 | 久草8| 真人毛片免费全部播放完整 | 日本成人在线免费观看 | 欧美久在线观看在线观看 | 天天欲色成人综合网站 | 91视频一区 | 免费女人18毛片a级毛片视频 | 在线视频 一区二区 | 亚洲三级在线免费观看 | 欧美一级毛片一 | 亚洲免费精品 | 韩国美女一区二区 | 国产美女一区精品福利视频 | 97精品国产91久久久久久 | 黄色天堂| 一区二区三区视频观看 | 日本三级香港三级人妇99 | 久久久免费网站 | 亚洲欧美日韩久久一区 |