亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javascript相關(guān)事件的幾個(gè)概念

 更新時(shí)間:2015年05月21日 08:44:16   投稿:hebedich  
對于事件來講,首先,我們需要了解這樣幾個(gè)概念:事件;事件處理程序;事件類型;事件流;事件冒泡;事件捕獲;事件對象;事件方面的性能優(yōu)化(事件委托、移除事件處理程序);常見的瀏覽器兼容問題。

客戶端javascript程序采用了異步事件驅(qū)動(dòng)編程模型。

相關(guān)事件的幾個(gè)概念:

  事件類型(event type):用來說明發(fā)生什么類型事件的字符串;

  事件目標(biāo)(event target):發(fā)生事件的對象;

  事件處理程序(event handler):處理或響應(yīng)事件的函數(shù);

  事件對象(event object):與特定事件相關(guān)且包含有關(guān)該事件詳細(xì)信息的對象;

  事件傳播(event propagation):瀏覽器決定哪個(gè)對象出發(fā)其事件處理程序的過程;

注冊事件處理程序:

  1、設(shè)置javascript對象屬性;

  2、設(shè)置html標(biāo)簽屬性

  3、addEventListener或attachEvent(后者為IE的)

 function addEvent(target,type,handler){
   if(target.addEventListener){
     target.addEventListener(type,handler,false);
   }else{
     target.attachEvent("on"+type,function(event){return handler.call(target,event)});
   }
 }

 事件傳播的三個(gè)階段:

  1、發(fā)生在目標(biāo)處理函數(shù)之前,稱為‘捕獲'階段;

  2、對象本身的處理事件的調(diào)用;

  3、事件的冒泡階段;

在javascript中,可以為某個(gè)元素指定事件,指定的方式有以下三種:

1、在html中,使用onclick屬性
2、在javascript中,使用onclick屬性
3、在javascipt中,使用addEvenListener()方法

三種方法的比較

(1)在第二、三種方法中,可以向函數(shù)傳入一個(gè)event對象,并讀取其相應(yīng)屬性,而方法一不可以。
(2)首選第二、三種,第一種不利于將內(nèi)容與事件分離,也不能使用event對象的相關(guān)內(nèi)容。

一些語法細(xì)節(jié)

(1)在第一種方法中,onclick大小寫無關(guān),但在第二種方法中,必須使用小寫。因?yàn)镠MTL對大小寫不敏感,而JS則會(huì)區(qū)分大小寫。
(2)在第二、三種方法中,指定函數(shù)名時(shí)沒有雙引號,而第一種作為一個(gè)HTML屬性,需要雙引號。
(3)第一種方法需要括號,第二、三種不需要。

 onclick="clickHandler()"
 document.getElementById("jsOnClick").onclick = clickHandler2; 
 document.getElementById("addEventListener").addEventListener("click", clickHandler2);

完整代碼:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Even Deom</title> 
 
</head> 
<body> 
 <button id="htmlOnClick" onclick="clickHandler()">htmlOnClick</button> 
 <button id="jsOnClick">jsOnClick</button> 
 <button id="addEventListener">addEventListener</button> 
  
 <script defer> 
 function clickHandler() { 
 alert("onclick attribute in html"); 
 } 
 function clickHandler2(e) { 
 alert(e.target.innerHTML); 
 } 
 document.getElementById("jsOnClick").onclick = clickHandler2; 
 document.getElementById("addEventListener").addEventListener("click", 
  clickHandler2); 
</script> 
</body> 
</html> 

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

最新評論