48 lines
1.2 KiB
HTML
48 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Document</title>
|
|
</head>
|
|
|
|
<body>
|
|
<ul id="ul">
|
|
<li>1</li>
|
|
<li>2</li>
|
|
<li>3</li>
|
|
<li>4</li>
|
|
<li>5</li>
|
|
<li>6</li>
|
|
<li>7</li>
|
|
<li>8</li>
|
|
<li>9</li>
|
|
<li>10</li>
|
|
</ul>
|
|
<script>
|
|
// var lis = document.getElementsByTagName("li");
|
|
// for(var i=0;i<lis.length;i++){
|
|
// lis[i].onclick = function(){
|
|
// console.log("Hello World");
|
|
// }
|
|
// }
|
|
|
|
// 使用事件委托来优化上面的代码
|
|
|
|
// 事件委托优点 1: 只用在父元素上面绑定相应的事件,绑定的事件更少,页面的效率更高
|
|
|
|
var ul = document.getElementById('ul');
|
|
ul.onclick = function(e){
|
|
if(e.target.nodeName === "LI"){
|
|
console.log("Hello World");
|
|
}
|
|
}
|
|
|
|
// 事件委托优点 2:后面新增的元素,事件也存在
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|