我应该使用$(文件)

时间:2015-04-07 22:42:06

标签: jquery

在我的网络应用程序中,我有一个带有AJAX删除/删除按钮的购物车,它会刷新购物车并显示新购物车。

代码是这样的:

$(".delBtn").on("click", function(){
    // Code here
});

当新推车显示时,删除按钮将不再有效。

我现在使用以下代码:

$(document).on("click", ".delBtn", function(){    
    // Code here
});

它按预期工作,但它是最好的选择吗?高级开发人员或专家会认为这是不好的代码吗?

1 个答案:

答案 0 :(得分:4)

首先,为什么第一个代码段不起作用。

第一个代码所说的是“使用”delBtn“类选择当前页面上的每个元素,并且当单击它时,运行一个函数。”但是,在您这样做时,您的按钮不在页面上(因为它尚未添加),因此不会找到任何元素。相比之下,第二种方法表明,无论何时单击该页面,如果单击的元素具有类“delBtn”,则运行该函数。因为这只是在网页上查找点击次数,所以它适用于稍后添加的元素

至于原来的问题:

是和否。没关系,但你可能想把它改成不同的东西。这种方式的工作方式是jquery监听文档上的每个click事件,并检查被点击的元素是否与选择器匹配。因此,每次单击页面上的内容时,jquery都必须运行一些代码。

您可能应该做的是将$(document)更改为包含按钮的任何父元素。这将有更好的性能,因为jquery只需检查包含按钮的实际元素上的单击事件。