DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> javascript相關事件的幾個概念
javascript相關事件的幾個概念
編輯:關於JavaScript     

客戶端javascript程序采用了異步事件驅動編程模型。

相關事件的幾個概念:

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

  事件目標(event target):發生事件的對象;

  事件處理程序(event handler):處理或響應事件的函數;

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

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

注冊事件處理程序:

  1、設置javascript對象屬性;

  2、設置html標簽屬性

  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)});
   }
 }

 事件傳播的三個階段:

  1、發生在目標處理函數之前,稱為‘捕獲'階段;

  2、對象本身的處理事件的調用;

  3、事件的冒泡階段;

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

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

三種方法的比較

(1)在第二、三種方法中,可以向函數傳入一個event對象,並讀取其相應屬性,而方法一不可以。
(2)首選第二、三種,第一種不利於將內容與事件分離,也不能使用event對象的相關內容。

一些語法細節

(1)在第一種方法中,onclick大小寫無關,但在第二種方法中,必須使用小寫。因為HMTL對大小寫不敏感,而JS則會區分大小寫。
(2)在第二、三種方法中,指定函數名時沒有雙引號,而第一種作為一個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> 

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

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