欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript基礎(chǔ)知識(二)事件

 更新時(shí)間:2014年09月29日 09:22:08   投稿:hebedich  
本文是javascript系列文章的第二篇,主要介紹javascript事件,都是本人的一些心得,希望對大家有所幫助

Event對象:(event對象是window對象的屬性,當(dāng)事件發(fā)生時(shí),同時(shí)產(chǎn)生event對象,事件結(jié)束,event對象消失)

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

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

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

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

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

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

4.offsetX:鼠標(biāo)指針相對于引發(fā)事件的對象的X坐標(biāo);

5.offsetY:鼠標(biāo)指針相對于引發(fā)事件的對象的Y坐標(biāo);

6.srcElement:導(dǎo)致事件發(fā)生的元素;

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

1.clientX;

2.clientY;

3.pageX;鼠標(biāo)指針相對于頁面的X坐標(biāo);

4.pageY;鼠標(biāo)指針相對于頁面的Y坐標(biāo);

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

6.target:觸發(fā)的事件元素/對象;

7.type:事件的名稱;

兩種event對象的相同點(diǎn)和不同點(diǎn)

相同點(diǎn):

1.獲取事件類型;

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

3.檢測Shift,Alt,Ctrl;

4.獲取客戶區(qū)坐標(biāo);

5.獲取屏幕坐標(biāo);

不同點(diǎn):

1.獲取目標(biāo);

//IE:var oTarget=oEvent.srcElement;

//DOM: var oTarget=oEvent.target;

2.獲取字符碼;

//IE: var iCharCode=oEvent.keyCode;

//DOM: var iCharCode=oEvent.charCode;

3.阻止事件的默認(rèn)行為;

//IE: oEvent.returnValue=false;

//DOM: oEvent.preventDefault;

4.終止冒泡:

//IE:oEvent.cancelBubble=true;

//DOM:oEvent.stopPropagation

事件類型:

一.鼠標(biāo)事件:

onmouseover:當(dāng)鼠標(biāo)移入時(shí);

onmouseout:當(dāng)鼠標(biāo)移出時(shí);

onmousedown:當(dāng)按下鼠標(biāo)時(shí);

onmouseup:當(dāng)抬起鼠標(biāo)時(shí);

onclick:點(diǎn)擊鼠標(biāo)左鍵時(shí);

ondblclick:雙擊鼠標(biāo)左鍵時(shí);

二.鍵盤事件:

onkeydown:當(dāng)用戶在鍵盤上按下一個鍵時(shí)發(fā)生;

onkeyup:當(dāng)用戶釋放一個按下的鍵時(shí)發(fā)生;

keypress:當(dāng)用戶一直按著鍵不放時(shí);

三.HTML事件:

onload:加載頁面時(shí);

onunload:卸載頁面時(shí);

abort:當(dāng)用戶終止裝載進(jìn)程之前,如果他還沒有被完全轉(zhuǎn)載,發(fā)生abort事件

error:javascript發(fā)生錯誤時(shí),產(chǎn)生的事件;

select:在一個input或者textarea中,用戶選擇字符時(shí),觸發(fā)的select事件

change:在一個input或者textarea中,當(dāng)它失去焦點(diǎn),在select中觸發(fā)change事件

submit:當(dāng)表單被提交時(shí),觸發(fā)submit事件;

reset:重置

resize:當(dāng)窗口或框架尺寸調(diào)整時(shí)觸發(fā)的事件;

scroll:當(dāng)用戶滾動或有滾動條時(shí)觸發(fā)的事件;

focus:失去焦點(diǎn)時(shí);

blur:獲得焦點(diǎn)時(shí);

Javascript的事件模型

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

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

經(jīng)過ECMA標(biāo)準(zhǔn)化后,其他瀏覽器都支持兩種類型,捕獲先發(fā)生。

2.傳統(tǒng)事件書寫的三種方式:

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

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

3.<input type="button" id="input1">  //匿名函數(shù)

復(fù)制代碼 代碼如下:

<script>
 Var button1=document.getElementById("input1");
 button1.onclick=funtion(){
 alert('helloword!')
 }
</script>

3.現(xiàn)代事件書寫方式:

復(fù)制代碼 代碼如下:

<input type="button" id="input1">  //IE中添加事件

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

復(fù)制代碼 代碼如下:

<input type="button" id="input1">  //DOM中添加事件

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

復(fù)制代碼 代碼如下:

<input type="button" id="input1"> //兼容IE和DOM添加事件

<script>
 var fnclick1=function(){alert("我被點(diǎn)擊了")}
 var fnclick2=function(){alert("我被點(diǎn)擊了")}
 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>

相關(guān)文章

最新評論