日期:2014-05-16  浏览次数:20579 次

jquery click事件无效
画面有个table,里面的每一行tr都是通过append追加进去的,这每一行最后又个checkbox。
我想点击checkbox然后做其他的处理,结果是点击无效。但是直接在页面里面写tr就好用,不知道为什么
下面是代码:
html:
<table>
<tr>
<td>1</td>
<td>...</td>
<td><input type="checkbox"/></td>  // 此处点击有效
</tr>
</table>
js:
// 循环遍历到页面
for(var i=0;i<list.length;i++){
var td = "<td>"+ list[i]["..."] +"</td>"+
         "<td>"+ list[i]["..."] +"</td>"+
         "<td>"+ list[i]["..."] +"</td>"+
         "<td>"+ "<input type='checkbox' /> +"</td>"
$("table").append("<tr>" + td + "</tr>");
}
// checkbox 选择
$("table:checkbox").click(function(){
alert(); // 无效
});
jquery javascript

------解决方案--------------------
你先把你的html代码生成好,再去绑定click事件。有可能是你代码没生成好就去绑定事件,这样肯定无效了。
------解决方案--------------------
因为你的节点是动态添加的,因此你需要
$("table:checkbox").on('click',function(){
------解决方案--------------------
引用:
因为你的节点是动态添加的,因此你需要
$("table:checkbox").on('click',function(){

+1

$("table").on("click",":checkbox",function(){
   alert('xx');
});