亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JS中的THIS和WINDOW.EVENT.SRCELEMENT詳解

2019-11-20 12:25:39
字體:
來源:轉載
供稿:網友

我們先看一個簡單的例子:

復制代碼 代碼如下:

<input type="text" onblur="alert(this.value)"/>完全沒有問題。

那么什么情況下不可以用?

fuction method(){  alert(this.value);}<input type="text" onblur="method()"/>

這個就不可以,因為method()是被響應函數調用的函數。

那么這種情況下怎么辦?

方法一:

fuction method(btn){  alert(btn.value);}<input type="text" onblur="method(this)"/>

沒問題!

方法二:

fuction method(){  alert(window.event.srcElement.value);}<input type="text" onblur="method()"/>

沒問題!window.event.srcElement取得觸發事件的控件

我們在看一個稍微繞一點的例子

<head>  <script type="text/javascript">    function InitEvent() {      var inputs = document.getElementsByTagName_r("input");      for (var i = 0; i < inputs.length; i++) {        inputs[i].onblur = OnblurEvent;      }    }    function OnblurEvent() {      // OnblurEvent是onblur的響應函數,而不是被響應函數調用的函數      // 所以可以用this來獲取發生事件的對象      if (this.value.length > 0) {        this.style.backgroundColor = "white";      }      else {        this.style.backgroundColor = "red";      }    }  </script></head><body onload="InitEvent()">  <input id="Text1" type="text" />  <input id="Text2" type="text" />  <input id="Text3" type="text" /></body></html>

我們再來看看2者之間的區別和聯系

this:

  下面先看一個例子:

 <html> <title>this與srcElement的區別</title> <head> <script type="text/javascipt>" function btnClick(){  alert(this.value); } </script> </head> <body> <input type="button" value="單擊" onclick="btnClick()"/> </body> </html>

 此時彈出的答案為“undefined”,說明在調用函數時不能使用this.屬性來獲取。再看下一個例子:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head>   <title>無標題頁</title>   <script type="text/javascript">   function btnClick(btn){    alert(btn.value);   }   </script> </head> <body> <input type="button" onclick="btnClick(this)" value="單擊" />  </body> </html>

此時得出的答案為“單擊”,此時為什么可以呢?從代碼中可以看出,在onclick事件調用函數btnClick()時,將this當作參數傳遞給了函數。

綜合以上:在函數調用時不能直接使用this.屬性來獲取,而必須將this當作參數傳遞。

 window.event.srcElement:

下面看一個例子:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head>   <title>無標題頁</title>   <script type="text/javascript">   function btnClick(){    alert(window.event.srcElement.value);   }   </script> </head> <body> <input type="button" onclick="btnClick()" value="單擊" />  </body> </html>

此時得出的答案為“單擊”,說明在調用函數時可以使用window.event.srcElement.屬性來獲取。

為什么this不能直接使用而window.event.srcElement可以直接使用呢?從單純的字面上說this的意思是“當前”。在函數調用時,沒有指定具體是哪一個控件,在函數中直接用this是不可以的。在第二段代碼中就將this當成了參數傳遞,所以能得出正確的答案。

其實this和window.event.srcElement的使用區別是:如果要直接使用this.屬性,此時的函數不能是被調用的而必須是響應函數,而window.event.srcElement則無此限制。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美一区视频| 成人免费淫片视频软件| 国产亚洲精品一区二区| 国产美女精品视频| 亚洲国产精品999| 九九热视频这里只有精品| 78色国产精品| 久久6精品影院| 国产精品免费一区二区三区都可以| 欧美日韩免费一区| 成人黄色片在线| 久久综合免费视频影院| 国产视频综合在线| 亚洲天堂精品在线| 青草热久免费精品视频| 亚洲精品美女久久久久| 欧美在线视频免费播放| 成人伊人精品色xxxx视频| 久久免费观看视频| 久久6精品影院| 麻豆一区二区在线观看| 国产精品视频网址| 国模视频一区二区三区| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲欧美一区二区精品久久久| 欧美日韩另类视频| 精品国产一区二区三区久久狼5月| 亚洲欧洲日产国码av系列天堂| 亚洲直播在线一区| 91国内在线视频| 欧美视频国产精品| 日韩欧美中文字幕在线观看| 2019中文在线观看| 奇米四色中文综合久久| 亚洲国产精品推荐| 欧美久久精品午夜青青大伊人| 亚洲免费一级电影| 久久久久久久久久久久久久久久久久av| 亚洲男人的天堂在线播放| 亚洲第五色综合网| 亚洲视频777| 亚洲电影免费观看| 国产精品亚洲片夜色在线| 国产精品69久久久久| 欧美成人中文字幕在线| 成人黄色午夜影院| 欧美www视频在线观看| 国产精品欧美日韩久久| 成人妇女免费播放久久久| 91亚洲精品一区二区| 国产精品劲爆视频| 91禁国产网站| 尤物yw午夜国产精品视频明星| 亚洲欧美三级在线| 亚洲欧美一区二区三区久久| 国产一区二区三区视频在线观看| 精品久久久国产精品999| 中文字幕在线看视频国产欧美| 国产精品高潮在线| 91精品国产综合久久香蕉最新版| 91精品视频观看| 国产精品国产三级国产aⅴ浪潮| 精品欧美激情精品一区| 国产91精品视频在线观看| 在线观看国产精品日韩av| 欧美性高跟鞋xxxxhd| 成人444kkkk在线观看| 日韩免费电影在线观看| 亚洲网在线观看| 亚洲经典中文字幕| 久久精品成人欧美大片| 久久久精品中文字幕| 国产精品wwwwww| 欧美日韩加勒比精品一区| 亚洲欧美日韩在线高清直播| 亚洲成人黄色在线观看| 欧美剧在线观看| 68精品国产免费久久久久久婷婷| 亚洲自拍欧美色图| 亚洲精品国产精品乱码不99按摩| 色噜噜狠狠狠综合曰曰曰| 国产精彩精品视频| 久久久av网站| 成人xxxx视频| 日本三级韩国三级久久| 欧美一二三视频| 欧美第一黄网免费网站| 亚洲伊人一本大道中文字幕| 奇米成人av国产一区二区三区| 欧美专区在线观看| 日韩欧美第一页| 97在线视频精品| 亚洲91精品在线| 欧美激情成人在线视频| 欧美猛交ⅹxxx乱大交视频| 国产精品va在线播放| 国产亚洲精品va在线观看| 亚洲а∨天堂久久精品9966| 久久免费视频观看| 国产精品流白浆视频| 亚洲国产精品久久久久秋霞不卡| 97免费视频在线| 久久久久久久久久久av| 日日摸夜夜添一区| 成人羞羞国产免费| 国产成+人+综合+亚洲欧美丁香花| 91久久嫩草影院一区二区| 国内久久久精品| 精品国产电影一区| 国产精品女主播视频| 国产午夜精品久久久| 亚洲xxxxx性| 精品久久久久久久久久ntr影视| 最近2019年手机中文字幕| 97在线观看免费高清| 91在线观看免费高清完整版在线观看| 亚洲精品在线视频| 菠萝蜜影院一区二区免费| 97香蕉超级碰碰久久免费的优势| 91美女高潮出水| 91豆花精品一区| 欧美高清不卡在线| 视频在线观看一区二区| 中文字幕日韩免费视频| 国产精品福利网| 国内精品美女av在线播放| 欧洲成人在线观看| 久久人人爽人人爽人人片av高清| 91在线色戒在线| 欧美亚洲另类激情另类| 日本精品一区二区三区在线播放视频| 国产91精品不卡视频| 日韩在线播放视频| 91精品久久久久久久| 亚洲国产精品va在线| 亚洲欧美国产制服动漫| 92福利视频午夜1000合集在线观看| 精品久久久久久亚洲国产300| 国产精品国产福利国产秒拍| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产日韩av在线播放| 国产黑人绿帽在线第一区| 高清亚洲成在人网站天堂| 亚洲成人动漫在线播放| 青青青国产精品一区二区| 国产成人精品久久二区二区91| 欧美性高跟鞋xxxxhd| 欧美激情精品久久久久久变态| 国产日韩在线精品av| 另类专区欧美制服同性| 亚洲乱亚洲乱妇无码| 欧美在线观看视频| 成人在线中文字幕| 精品无人区太爽高潮在线播放| 亚洲欧美国内爽妇网| 欧美午夜影院在线视频| 亚洲专区在线视频| 欧美视频在线观看免费网址| 久久久国产一区二区| 久久99精品视频一区97| 综合av色偷偷网| 最好看的2019年中文视频| 日韩精品极品视频免费观看| 欧美性xxxx在线播放|