国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

JavaScript綁定事件的方法[3種]

要讓 JavaScript 對(duì)使用者的操作作出回應(yīng),首先要對(duì) DOM 元素綁定事件處理函數(shù)。所謂事件處理函數(shù),就是處理使用者操作的函數(shù),不同的操作對(duì)應(yīng)不同的名稱。

在JavaScript中,有三種常用的綁定事件的方法:

  • 在DOM元素中直接綁定;

  • 在JavaScript程式碼中綁定;

  • 綁定事件監(jiān)聽函數(shù)。

一. 在DOM元素中直接綁定

這裡的DOM元素,可以理解為HTML標(biāo)籤。 JavaScript支援在標(biāo)籤中直接綁定事件,語法為:
? ??onXXX="JavaScript Code"

其中:

onXXX 為事件名稱。例如,滑鼠點(diǎn)選事件 onclick ,滑鼠雙擊事件 ondouble,滑鼠移入事件 onmouseover,滑鼠移出事件 onmouseout 等。

JavaScript Code 為處理事件的JavaScript程式碼,一般是函數(shù)。


例如,點(diǎn)擊一個(gè)按鈕,彈出警告框的程式碼有以下兩種寫法。

  1. 原生函數(shù)

<input  onclick="alert('謝謝支持')"  type="button"  value="點(diǎn)擊我,彈出警告框" />

實(shí)例示範(fàn):

QQ截圖20161013103139.png

2. 自訂函數(shù)

<input  onclick="myAlert()"  type="button"  value="點(diǎn)擊我,彈出警告框" />
<script type="text/javascript">
function myAlert(){
    alert("謝謝支持");
}
</script>

實(shí)例示範(fàn):QQ截圖20161013103216.png

二.?在JavaScript程式碼中綁定

在JavaScript程式碼中(即<script>標(biāo)籤內(nèi))綁定事件可以將JavaScript程式碼與HTML標(biāo)籤分離,文件結(jié)構(gòu)清晰,方便管理與開發(fā)。

在JavaScript程式碼中綁定事件的語法為:
elementObject.onXXX=function(){
? ? // 事件處理程式碼
}

#其中:

elementObject 為DOM對(duì)象,即DOM元素。

onXXX 為事件名稱。


例如,為 id="demo" 的按鈕綁定一個(gè)事件,顯示它的 type 屬性:

<input  id="demo"  type="button"  value="點(diǎn)擊我,顯示 type 屬性" />
<script type="text/javascript">
document.getElementById("demo").onclick=function(){
    alert(this.getAttribute("type"));  //  this 指當(dāng)前發(fā)生事件的HTML元素,這里是<div>標(biāo)簽
}
</script>

實(shí)例示範(fàn):QQ截圖20161013103320.png

三. 綁定事件監(jiān)聽函數(shù)

綁定事件的另一種方法是用 addEventListener() 或 attachEvent() 來綁定事件監(jiān)聽函數(shù)。

addEventListener()函式語法:
elementObject.addEventListener(eventName,handle,useCapture);

QQ截圖20161013103335.png

##attachEvent()函式語法:

elementObject.attachEvent(eventName,handle);

QQ截圖20161013103348.png

注意:事件句柄函數(shù)是指“ 函數(shù)名稱”,不能帶小括號(hào)。


addEventListener()是標(biāo)準(zhǔn)的綁定事件監(jiān)聽函數(shù)的方法,是W3C所支援的,Chrome、FireFox、Opera、Safari、IE9.0及其以上版本都支援該函數(shù);但是,IE8. 0及其以下版本不支援該方法,它使用attachEvent()來綁定事件監(jiān)聽函數(shù)。所以,這種綁定事件的方法必須要處理瀏覽器相容問題。

下面綁定事件的程式碼,進(jìn)行了相容性處理,能夠被所有瀏覽器支援:

function addEvent(obj,type,handle){
    try{  // Chrome、FireFox、Opera、Safari、IE9.0及其以上版本
        obj.addEventListener(type,handle,false);
    }catch(e){
        try{  // IE8.0及其以下版本
            obj.attachEvent('on' + type,handle);
        }catch(e){  // 早期瀏覽器
            obj['on' + type] = handle;
        }
    }
}

這裡使用try{ ... } catch(e){ ... }取代if ... else... 語句,避免瀏覽器出現(xiàn)錯(cuò)誤提示。


例如,為一個(gè)id="demo" 的按鈕綁定事件,滑鼠點(diǎn)擊時(shí)彈出警告框:

addEvent(document.getElementById("demo"),"click",myAlert);
function myAlert(){
    alert("又是一個(gè)警告框");
}

實(shí)例示範(fàn):

QQ截圖20161013103443.png

繼續(xù)學(xué)習(xí)
||
<html> <head> <title>彈出警告框</title> </head> <body> <input onclick="myAlert()" type="button" value="點(diǎn)擊我,彈出警告框" /> <script type="text/javascript"> function myAlert(){ alert("謝謝支持"); } </script> </body> </html>
提交重置程式碼