最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

實例講解javascript注冊事件處理函數(shù)

 更新時間:2016年01月09日 19:26:33   投稿:lijiao  
這篇文章主要以實例的方式向大家介紹了javascript注冊事件處理函數(shù),內(nèi)容很全面,感興趣的朋友可以參考一下

事件是javascript的核心內(nèi)容,它的重要性這里就不多介紹了。觸發(fā)事件之后就需要有事件處理函數(shù)去處理,例如我們可以定義當點擊一個按鈕之后,將一個div的背景設置為綠色,那么就先看一下如何實現(xiàn)此效果,代碼實例如下:

<html> 
<head> 
<meta charset=" utf-8"> 
<title>javascript如何注冊事件處理函數(shù)</title>
<style type="text/css">
#mydiv{
 width:100px;
 height:100px;
 background-color:red;
}
</style>
<script type="text/javascript"> 
function changebg(){
 var mydiv=document.getElementById("mydiv");
 mydiv.style.backgroundColor="green";
}
</script>
</head>
<body>
 <div id="mydiv"></div>
 <button id="bt">點擊查看效果</button> 
</body>
</html>

在以上代碼中,點擊按鈕就會將div的背景顏色設置為綠色,這是因為代碼為按鈕的onclick事件注冊了事件處理函數(shù),此函數(shù)可以將div的背景顏色設置為綠色。下面就結(jié)合實例簡單介紹一下如何為對象的事件注冊事件處理函數(shù):
方式一:
直接在HTML代碼中注冊事件處理函數(shù),也就是直接通過HTML屬性來設置事件處理函數(shù),事件處理函數(shù)要執(zhí)行的代碼就是HTML的屬性值,在文章的開頭就是使用的此方式。優(yōu)缺點如下:

  • 1.容易理解,使用簡單。
  • 2.各主流瀏覽器都支持此方式。
  • 3.與HTML代碼混合在一起,使頁面十分的繁雜,不符合表現(xiàn)與內(nèi)容分離的原則。
  • 4.只能夠在同一個對象注冊一個相同類型的事件處理函數(shù)。

方式二:
事件句柄方式,所謂的事件句柄也就是事件處理函數(shù),指定對象的指定事件對應一個事件句柄。使用此種方式注冊事件處理函數(shù),首先要獲得對象的引用,然后將事件句柄賦值給對象的對應的事件處理函數(shù)屬性即可。其實方式一也是事件句柄方式的一種。
代碼實例如下:

<html> 
<head> 
<meta charset=" utf-8"> 
<title>javascript如何注冊事件處理函數(shù)</title>
<style type="text/css">
#mydiv{
 width:100px;
 height:100px;
 background-color:red;
}
</style>
<script type="text/javascript"> 
window.onload=function(){
 var mydiv=document.getElementById("mydiv");
 var bt=document.getElementById("bt");
 bt.onclick=function(){
  mydiv.style.backgroundColor="green";
 }
}
</script>
</head>
<body>
 <div id="mydiv"></div>
 <button id="bt">點擊查看效果</button>
</body>
</html>

以上代碼中,首先使用document.getElementById("bt")獲得按鈕對象的引用,然后將事件句柄(事件處理函數(shù))賦值給按鈕對象的onclick事件屬性,這樣當點擊按鈕時就會觸發(fā)onclick事件,進而執(zhí)行事件句柄中的代碼。優(yōu)缺點如下:

  • 1.簡單容易理解。
  • 2.個瀏覽器都支持。
  • 3.只能夠在同一個對象注冊一個相同類型的事件處理函數(shù)。

方式三:
是一種更為高級的事件注冊方式,那就是事件監(jiān)聽器,這種方式解決了在指定對象只能注冊一個指定類型事件的處理函數(shù)問題。不過存在一定的兼容性問題,下面分別介紹一下:
1).IE瀏覽器:
在IE瀏覽器中可以使用attachEvent()和detachEvent()方法為指定對象注冊事件處理函數(shù)和刪除注冊的事件處理函數(shù)。
語法格式如下:
element.attachEvent("onevent",eventListener)
此函數(shù)具有兩個參數(shù),第一個參數(shù)是事件類型的名稱,第二個參數(shù)就是要注冊的事件處理函數(shù)。
代碼實例如下:

<html> 
<head> 
<meta charset=" utf-8"> 
<title>javascript如何注冊事件處理函數(shù)</title>
<style type="text/css">
#mydiv{
 width:100px;
 height:100px;
 background-color:red;
}
</style>
<script type="text/javascript"> 
window.onload=function(){
 var mydiv=document.getElementById("mydiv");
 var bt=document.getElementById("bt");
 
 bt.attachEvent("onclick",changebg);
 
 function changebg(){
  mydiv.style.backgroundColor="green";
 }
}
</script>
</head>
<body>
 <div id="mydiv"></div>
 <button id="bt">點擊查看效果</button>
</body>
</html>

以上代碼使用attachEvent()函數(shù)為按鈕注冊onclick事件處理函數(shù),不過只能夠在IE瀏覽器中有效。使用detachEvent()函數(shù)可以解除原來注冊的事件處理函數(shù),語法格式如下:
element.detachEvent("onevent",eventListener)
格式和attachEvent()函數(shù)式一樣的。
特別說明:第一個參數(shù)的必須帶有on,例如點擊事件就要寫成"onclick"。
2).標準瀏覽器:
在標準瀏覽器中(包括IE9和IE9以上瀏覽器),要使用addEventListener()和removeEventListener()函數(shù)注冊和刪除注冊處理函數(shù)。
語法格式如下:
element.addEventListener('event', eventListener, useCapture);
此函數(shù)具有三個參數(shù),第一個參數(shù)是事件類型名稱,第二個參數(shù)就是要注冊的事件處理函數(shù),第三個函數(shù)規(guī)定此處理函數(shù)是在事件傳遞過程中的捕獲階段被調(diào)用還是冒泡階段被調(diào)用,在默認條件下,此屬性值為false么也就是在冒泡階段調(diào)用事件處理函數(shù)。
特別說明:第一個參數(shù)不能夠帶有on,例如點擊事件不能寫為"onclick",而要寫成"click"。
代碼實例如下:

<html> 
<head> 
<meta charset=" utf-8"> 
<title>javascript如何注冊事件處理函數(shù)</title>
<style type="text/css">
#mydiv{
 width:100px;
 height:100px;
 background-color:red;
}
</style>
<script type="text/javascript"> 
window.onload=function(){
 var mydiv=document.getElementById("mydiv");
 var bt=document.getElementById("bt");
 
 bt.addEventListener("click",changebg);
 
 function changebg(){
  mydiv.style.backgroundColor="green";
 }
}
</script>
</head>
<body>
 <div id="mydiv"></div>
 <button id="bt">點擊查看效果</button>
</body>
</html>

以上代碼在IE9和IE9以上或者其他標準瀏覽器中,點擊按鈕可以將div的背景顏色設置為綠色。使用removeEventListener()函數(shù)可以解除原來注冊的事件處理函數(shù),語法格式如下:
element.removeEventListener('event', eventListener, useCapture);
格式和addEventListener()函數(shù)式一樣的。
跨瀏覽器注冊事件處理函數(shù):
只要加個判斷語句即可,代碼如下:

var EventUtil={
  //注冊
  addHandler: function(element, type, handler){
   if (element.addEventListener){
    element.addEventListener(type, handler, false);
   } else if (element.attachEvent){
    element.attachEvent("on" + type, handler);
   } else {
    element["on" + type] = handler;
   }
  },
  //移除注冊
  removeHandler: function(element, type, handler){
   if (element.removeEventListener){
    element.removeEventListener(type, handler, false);
   } else if (element.detachEvent){
    element.detachEvent("on" + type, handler);
   } else {
    element["on" + type] = null;
   }
  }       
 };

以上就是本文的詳細內(nèi)容,希望對大家的學習有所幫助。

相關(guān)文章

  • JS如何獲取地址欄的參數(shù)實例講解

    JS如何獲取地址欄的參數(shù)實例講解

    本篇文章給大家?guī)砹岁P(guān)于JS如何獲取地址欄的參數(shù)實例講解,有需要的朋友們參考下。
    2018-10-10
  • 一文詳解axios四種傳參方式及后端接參

    一文詳解axios四種傳參方式及后端接參

    在開發(fā)的過程中,我們會經(jīng)常使用到axios進行數(shù)據(jù)的交互,這篇文章主要給大家介紹了關(guān)于axios四種傳參方式及后端接參的相關(guān)資料,文中給出了詳細的代碼示例,需要的朋友可以參考下
    2023-10-10
  • javascript使用Blob對象實現(xiàn)的下載文件操作示例

    javascript使用Blob對象實現(xiàn)的下載文件操作示例

    這篇文章主要介紹了javascript使用Blob對象實現(xiàn)的下載文件操作,結(jié)合實例形式分析了javascript使用Blob對象下載文件相關(guān)原理、操作技巧與注意事項,需要的朋友可以參考下
    2020-04-04
  • jQuery Mobile動態(tài)刷新頁面樣式的實現(xiàn)方法

    jQuery Mobile動態(tài)刷新頁面樣式的實現(xiàn)方法

    下面小編就為大家?guī)硪黄猨Query Mobile動態(tài)刷新頁面樣式的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • 理解javascript正則表達式

    理解javascript正則表達式

    這篇文章主要為大家詳細介紹了javascript正則表達式,由淺入深的幫助大家學習正則表達式,感興趣的小伙伴們可以參考一下
    2016-03-03
  • javascript計時器編寫過程與實現(xiàn)方法

    javascript計時器編寫過程與實現(xiàn)方法

    這篇文章主要為大家詳細介紹了javascript計時器編寫過程與實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 微信小程序?qū)崿F(xiàn)簡單九宮格抽獎

    微信小程序?qū)崿F(xiàn)簡單九宮格抽獎

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)簡單九宮格抽獎,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 詳解用函數(shù)式編程對JavaScript進行斷舍離

    詳解用函數(shù)式編程對JavaScript進行斷舍離

    本篇文章主要介紹了用函數(shù)式編程對JavaScript進行斷舍離,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 8個有意思的JavaScript面試題

    8個有意思的JavaScript面試題

    JavaScript 是一種有趣的語言,我們都喜歡它,因為它的性質(zhì)。這篇文章主要介紹了8個有意思的JavaScript面試題 ,需要的朋友可以參考下
    2019-07-07
  • ES6新特性之字符串的擴展實例分析

    ES6新特性之字符串的擴展實例分析

    這篇文章主要介紹了ES6新特性之字符串的擴展,結(jié)合實例形式對比分析了ES5與ES6字符串函數(shù)以及模板字符串相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04

最新評論

微山县| 阿拉善盟| 乌拉特前旗| 葫芦岛市| 望城县| 梧州市| 孝义市| 抚松县| 新巴尔虎右旗| 龙陵县| 焦作市| 苏尼特左旗| 鄱阳县| 五常市| 西平县| 桐梓县| 清镇市| 乐陵市| 泰和县| 海宁市| 廉江市| 密山市| 财经| 名山县| 北碚区| 建宁县| 淮阳县| 巨野县| 孝感市| 合川市| 贵德县| 尉氏县| 武鸣县| 卓资县| 赣州市| 辛集市| 锡林郭勒盟| 恩平市| 潜江市| 江华| 衡阳县|