我想从动态表中删除我正在使用.live()方法的行,并且它工作正常。 但是现在.live方法已被弃用,所以我想使用.on(),但它不起作用。
$(".delete").live('click', function(){
var cresponse = confirm("Confirm that you want to delete a deal.");
if(cresponse) {
var cid = $(this).attr('xtarget');
userRolesUpd(cid, 'Y');
}
});
我改为:
$(".delete").on('click', function(){
var cresponse = confirm("Confirm that you want to delete a deal.");
if(cresponse) {
var cid = $(this).attr('xtarget');
userRolesUpd(cid, 'Y');
}
});
它仅适用于一行,在更新表行后,它将无法正常工作
答案 0 :(得分:1)
on
函数使用错误 - 更新代码时请参阅http://api.jquery.com/live/了解正确的等效项。
$(".delete").live('click', function ..)
// ^-- 'live' selector
相当于
$(document).on("click", ".delete", function ..)
// ^-- common ancestor ^-- 'live' selector
有一个更精致的父母,而不是“文件”是建议使用它。请参阅on
文档。