DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> Javascript基礎知識(二)事件
Javascript基礎知識(二)事件
編輯:關於JavaScript     

Event對象:(event對象是window對象的屬性,當事件發生時,同時產生event對象,事件結束,event對象消失)

IE中:window.event;//獲取對象

DOM中:argument[0];//獲取對象

IE中Event對象常用的屬性方法:

1.clientX:事件發生時,鼠標指針在客戶區(不包括工具欄,滾動條等)的X坐標;

2.clientY:事件發生時,鼠標指針在客戶區(不包括工具欄,滾動條等)的Y坐標;

3.keyCode:對於keyCode事件,指示按下的鍵的Unicode字符,對於keydown/keyup事件,指示按下的鍵盤是數字表示器(獲得按鍵的數值);

4.offsetX:鼠標指針相對於引發事件的對象的X坐標;

5.offsetY:鼠標指針相對於引發事件的對象的Y坐標;

6.srcElement:導致事件發生的元素;

DOM中event對象常用的屬性方法:

1.clientX;

2.clientY;

3.pageX;鼠標指針相對於頁面的X坐標;

4.pageY;鼠標指針相對於頁面的Y坐標;

5.StopPropagation:調用該方法可以阻止事件的進一步傳播(冒泡);

6.target:觸發的事件元素/對象;

7.type:事件的名稱;

兩種event對象的相同點和不同點

相同點:

1.獲取事件類型;

2.獲取鍵盤代碼(keydown/keyup事件);

3.檢測Shift,Alt,Ctrl;

4.獲取客戶區坐標;

5.獲取屏幕坐標;

不同點:

1.獲取目標;

//IE:var oTarget=oEvent.srcElement;

//DOM: var oTarget=oEvent.target;

2.獲取字符碼;

//IE: var iCharCode=oEvent.keyCode;

//DOM: var iCharCode=oEvent.charCode;

3.阻止事件的默認行為;

//IE: oEvent.returnValue=false;

//DOM: oEvent.preventDefault;

4.終止冒泡:

//IE:oEvent.cancelBubble=true;

//DOM:oEvent.stopPropagation

事件類型:

一.鼠標事件:

onmouseover:當鼠標移入時;

onmouseout:當鼠標移出時;

onmousedown:當按下鼠標時;

onmouseup:當抬起鼠標時;

onclick:點擊鼠標左鍵時;

ondblclick:雙擊鼠標左鍵時;

二.鍵盤事件:

onkeydown:當用戶在鍵盤上按下一個鍵時發生;

onkeyup:當用戶釋放一個按下的鍵時發生;

keypress:當用戶一直按著鍵不放時;

三.HTML事件:

onload:加載頁面時;

onunload:卸載頁面時;

abort:當用戶終止裝載進程之前,如果他還沒有被完全轉載,發生abort事件

error:javascript發生錯誤時,產生的事件;

select:在一個input或者textarea中,用戶選擇字符時,觸發的select事件

change:在一個input或者textarea中,當它失去焦點,在select中觸發change事件

submit:當表單被提交時,觸發submit事件;

reset:重置

resize:當窗口或框架尺寸調整時觸發的事件;

scroll:當用戶滾動或有滾動條時觸發的事件;

focus:失去焦點時;

blur:獲得焦點時;

Javascript的事件模型

1.Javascript事件模型:1.冒泡類型: <input type="button">當用戶點擊按鈕時:input-body-html-document-window(從下往上冒泡)IE浏覽器只是用冒泡

    2.捕獲類型: <input type="button">當用戶點擊按鈕時:window-document-html-body-input (從上往下)

經過ECMA標准化後,其他浏覽器都支持兩種類型,捕獲先發生。

2.傳統事件書寫的三種方式:

1.<input type="button" onclick="alert('helloworld!')">

2.<input type="button onclick=name1()">======<script>function name1(){alert('helloword!');}</script> //有名函數

3.<input type="button" id="input1">  //匿名函數
代碼如下:
<script>
 Var button1=document.getElementById("input1");
 button1.onclick=funtion(){
 alert('helloword!')
 }
</script>

3.現代事件書寫方式:
代碼如下:
<input type="button" id="input1">  //IE中添加事件

<script>
 var fnclick(){
 alert("我被點擊了")
 }
 var Oinput=document.getElementById("input1");
 Oinput.attachEvent("onclick",fnclick);
 --------------------------------------
 Oinput.detachEvent("onclick",fnclick);//IE中刪除事件
</script>

代碼如下:
<input type="button" id="input1">  //DOM中添加事件

<script>
 var fnclick(){
 alert("我被點擊了")
 }
 var Oinput=document.getElementById("input1");
 Oinput.addEventListener("onclick",fnclick,true);
 --------------------------------------
 Oinput.removeEventListener("onclick",fnclick);//DOM中刪除事件
</script>

代碼如下:
<input type="button" id="input1"> //兼容IE和DOM添加事件

<script>
 var fnclick1=function(){alert("我被點擊了")}
 var fnclick2=function(){alert("我被點擊了")}
 var Oinput=document.getElementById("input1");
 if(document.attachEvent){
 Oinput.attachEvent("onclick",fnclick1)
 Oinput.attachEvent("onclick",fnclick2)
 }
 else(document.addEventListener){
 Oinput.addEventListener("click",fnclick1,true)
 Oinput.addEventListener("click",fnclick2,true)
 }
</script>

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved