我使用了jsfiddle中的一些现有代码,但它使用了已弃用的.live函数。当我更改代码以使用.on时,它不再有效。这是jsfiddle:http://jsfiddle.net/DBfKz/
脚本将项添加到"比较列表"。我想要做的就是点击" x"在旁边,从列表中删除。
这是弃用的代码:
$(".box a").live("click", function() {
$(this).parent().remove();
updateLinkAndCounter();
});
我把它转换成这个:
$(".box").on("click","a", function() {
$(this).parent().remove();
updateLinkAndCounter();
});
我将jQuery的版本更改为更新的版本,它支持.on
但现在脚本不起作用。我成功地使用过.on,我不知道为什么它不在这里工作。感谢您的帮助!
答案 0 :(得分:0)
问题是在dom准备就绪后创建了.box
元素,因此元素不存在以便将事件附加到。
您需要将事件处理程序添加到已存在的元素中。
我将您的活动更改为:
$("#container").on("click", '.box a', function(e) {
$(e.target).parent().remove();
updateLinkAndCounter();
});
还将您的jQuery版本从1.4.4更改为1.8.3
现在它的工作方式相同。