1.前言。
live在1.7后增加,1,9后被移除,真够悲催的。die在1.9也不存在了。on和delegate还在。其实用on替代live是一样的,新增加的元素仍然能够触发事件。
2.例子。
直接将下面例子保持为html,可以直接运行。
<!DOCTYPE html> <html> <title>如何为div加样式"add"或者".css"都可以为每个div背景加色</title> <head> <style> div { width:60px; height:60px; margin:10px; float:left; } p { clear:left; font-weight:bold; font-size:16px; color:blue; margin:0 10px; padding:2px; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> Added this... (notice no border) <table> <tbody id="kk1"> <tr><td>fewfew</td></tr> <tbody> </table> <input type="button" value="点击" onclick="appd();"/> <script> <!--.add为为字体加框,.css为为每个div背景加色--> $("div").css("border", "2px solid red") .add("p").css("background", "yellow"); function appd(){ alert("kk"); $("#kk1").append("<tr id='kkk'><td>123</td></tr>").children("tr[id='kkk']").on('mouseenter',function(){ alert("haha")}).on('mouseleave',function(){ alert("hehe")}); } </script> </body> </html>
1 楼
nannan408
2013-11-22
我修改了一下,这里提醒一下,最好在append等dom操作的同时对元素进行hover等绑定操作,不然如果是ajax请求,则不是当时的绑定就无效。