首頁  >  文章  >  web前端  >  javascript中為某個元素指定事件的三種方式_javascript技巧

javascript中為某個元素指定事件的三種方式_javascript技巧

WBOY
WBOY原創
2016-05-16 16:40:101107瀏覽

在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>

在javascript中,可以為某個元素指定事件,指定的方式有以下三種:
1.在html中,使用onclick屬性

2、在javascript中,使用onclick屬性
(1)注意函數名沒有雙引號。

3、在javascipt中,使用addEvenListener()方法

三種方法的比較
(1)在第二、三種方法中,可以向函數傳入一個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>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn