比如我有个表格里面的内容都是通过访问接口获取到的,而页面的html只有最外层的table。
<table border="0" cellspacing="0" cellpadding="0" id="contaUnselectTableList">
</table>
那么里面元素tr的点击事件,你用
$("#contaUnselectTableList tr").on("click",function(){}) 是没有效果的。用bind也是没有用的。你可能想利用另一种写法
$("#contaUnselectTableList").on("click", "tr",function(){}) 然而即使先找父元素再去找子元素也是没有用的。
这个时候我们想到可以用live
$("#contaUnselectTableList").live("click", "tr",function(){})这个里面获取的$(this).html()竟然是整个table。奔溃了。
$("#contaUnselectTableList tr").live("click", function(){})这个里面获取的$(this).html()菜是你点击的那个tr
但是这里面还是有个bug的。你点击选择了一个元素,再去点击从新选择的时候,这个事件会执行两次。
$("#contaUnselectTableList tr").die().live("click", function(){}) 所以你要在每次调用的时候取消上次的