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

JavaScript event對象:當(dāng)前事件

獲取event對象

在 W3C 規(guī)范中,event 對象是隨事件處理函數(shù)傳入的,Chrome、FireFox、Opera、Safari、IE9.0及其以上版本都支持這種方式;但是對于 IE8.0 及其以下版本,event 對象必須作為 window 對象的一個屬性。

◆?在遵循 W3C 規(guī)范的瀏覽器中,event 對象通過事件處理函數(shù)的參數(shù)傳入。

語法:

elementObject.OnXXX=function(e){
    var eve=e; // 聲明一個變量來接收 event 對象
}

上面綁定的事件處理函數(shù)中,參數(shù) e 用來傳入 event 對象,變量 eve 則表示當(dāng)前事件。這個過程是 JavaScript 自動完成的。

例如,要獲取發(fā)生事件時鼠標(biāo)的坐標(biāo),可以這樣寫:

<div id="demo">在這里單擊</div>
<script type="text/javascript">
document.getElementById("demo").onclick=function(e){
    var eve=e;
    var x=eve.x; // X坐標(biāo)
    var y=eve.y;  // Y坐標(biāo)
    alert("X坐標(biāo):"+x+"\nY坐標(biāo):"+y);
}
</script>

請看下面的演示

QQ截圖20161013102330.png

◆?對于 IE8.0 及其以下版本,event 必須作為 window 對象的一個屬性。

語法:

elementObject.OnXXX=function(){
    var eve=window.event; // 聲明一個變量來接收event對象
}

例如,要取得發(fā)生事件時鼠標(biāo)的坐標(biāo),可以這樣寫:

<div id="demo">在這里單擊</div>
<script  type="text/javascript">
document.getElementById("demo").onclick=function(){
    var eve=window.event;
    var x=eve.x;  // X坐標(biāo)
    var y=eve.y;  // Y坐標(biāo)
    alert("X坐標(biāo):"+x+"\nY坐標(biāo):"+y);
}
</script>

請看下面的演示:

QQ截圖20161013102438.png

可以看出,要想獲取與當(dāng)前事件有關(guān)的狀態(tài),比如發(fā)生事件的DOM元素、鼠標(biāo)坐標(biāo)、鍵盤按鍵等,就要處理瀏覽器的兼容問題。

典型代碼:

elementObject.OnXXX=function(e){
    var eve = e || window.event;  // 使用 || 運算取得event對象
}

這里要注意一點, || 運算的返回值不一定是 Boolean 類型,當(dāng) || 運算的兩個操作數(shù)中有一個為真時,將返回該操作數(shù)本身的值。上面的代碼,如果 event 隨函數(shù)的參數(shù)傳入,e 為真,eve=e;如果作為 window 對象的屬性,window.event 為真,eve=window.event 。

改進上面獲取鼠標(biāo)坐標(biāo)的代碼,使它兼容所有瀏覽器:

<div id="demo">在這里單擊</div>
<script  type="text/javascript">
document.getElementById("demo").onclick=function(e){
    var eve = e || window.event;
    var x=eve.x;
    var y=eve.y;
    alert("X坐標(biāo):"+x+"\nY坐標(biāo):"+y);
}
</script>

請看下面的演示:

QQ截圖20161013102514.png

event對象常用屬性和方法

event 對象用來表示當(dāng)前事件,事件有很多狀態(tài),例如,鼠標(biāo)單擊時的位置,按下鍵盤時的按鍵,發(fā)生事件的HTML元素,是否執(zhí)行默認(rèn)動作,是否冒泡等,這些都是作為event對象的屬性和方法存在的。要想獲得相應(yīng)的狀態(tài),就要訪問對應(yīng)的屬性和方法。

event 對象常用屬性和方法(W3C規(guī)范)

QQ截圖20161013102531.png

除了上面W3C規(guī)范所規(guī)定的屬性和方法外,IE瀏覽器還支持以下屬性。

event 對象的屬性(IE特有)

QQ截圖20161013102545.png

繼續(xù)學(xué)習(xí)
||
<html> <head> <title>獲取鼠標(biāo)的坐標(biāo)信息</title> </head> <body> <div id="demo">在這里單擊</div> <script type="text/javascript"> document.getElementById("demo").onclick=function(e){ var eve = e || window.event; var x=eve.x; var y=eve.y; alert("X坐標(biāo):"+x+"\nY坐標(biāo):"+y); } </script> </body> </html>
提交重置代碼