JQUERY新增元素的事件绑定问题
求一个事件绑定的问题,
页面已经有了3个按钮,name都为name='btnDel'
页面加载的时候 通过ready绑定了处理逻辑:
//删除行
$("input[name='btnDel']").click(
function() {
if (window.confirm("确定要删除吗?")) {
var count = 0;
$(this).parents("tr").remove();
//给Table的索引重新排序
$("tr>td:nth-child(1)").each(
function() {
$(this).text(++count);
}
);
}
}
);
页面有个add按钮,点击一次增加1个新的name为'btnDel'的按钮,请问此时如何绑定事件呢?
var $newObj = $("<tr><td>" + ($newIndex + 1) + "</td><td>" + $txtObj.val() + "</td><td><input type='button' name='btnEdit' value='Edit' /></td><td><input type='button' name='btnDel' value='Delete' /></td></tr>");
$tableObj.append($newObj);
------解决方案--------------------
$("input[name='btnDel']").live('click',function() {
if (window.confirm("确定要删除吗?")) {
var count = 0;
$(this).parents("tr").remove();
//给Table的索引重新排序
$("tr>td:nth-child(1)").each(
function() {
$(this).text(++count);
}
);
}
}
);
动态生成的dom用live来绑定事件