1 <!-- 事件委托就是利用事件冒泡的原理,把事件加到父级上,通过判断事件的来源的子集,执行相应的操作,事件委托首先可以极大的减少事件绑定的次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。 --> 2 3 <!DOCTYPE html> 4 <html lang="en"> 5 <head> 6 <meta charset="UTF-8"> 7 <title>Document</title> 8 <script type="text/javascript" src="../jquery-1.12.4.min.js"></script> 9 <script type="text/javascript"> 10 $(function(){ 11 $('.list li').click(function(){ 12 $(this).css({'backgroundColor':'red'}) 13 }) 14 15 // 新建一个li元素赋值给$li变量 16 var $li = $('<li>9</li>') 17 // 把新建的li元素,放入ul标签最后,由于上面不是用的事件委托,所以新增的li并没有点击事件 18 $('.list').append($li); 19 20 21 // $(this) 指委托的子元素 22 // $('.list').delegate('li','click',function(){ 23 // $(this).css({'backgroundColor':'red'}) 24 // }); 25 26 var $li = $('<li>9</li>') 27 // 由于上面的是用的事件委托的方式,所以新增的li也会有点击事件 28 $('.list').append($li); 29 30 }) 31 </script> 32 <style type="text/css"> 33 .list{ 34 background-color: gold; 35 list-style: none; 36 padding: 10px; 37 } 38 .list li{ 39 height: 30px; 40 background-color: green; 41 margin: 10px; 42 } 43 </style> 44 </head> 45 <body> 46 <ul class="list"> 47 <li>1</li> 48 <li>2</li> 49 <li>3</li> 50 <li>4</li> 51 <li>5</li> 52 <li>6</li> 53 <li>7</li> 54 <li>8</li> 55 </ul> 56 </body> 57 </html>