在使用jQuery选择之前,我应该检查对象是否存在吗?

托蒂梅德利

我有一个全局标志变量。如果此标志的值为,true则我<div>向DOM添加很多,否则什么也没有发生。之后,我需要处理所有先前添加<div>上的click事件创建<div>s之后,我无法立即添加点击处理程序,因为它们位于代码的不同部分,但是flag变量仍然可以访问。我通过以下方式添加点击处理程序:

$('.js-click').click(function() {
   //Handle the click. 
});

不管是否<div>预先添加s都没有关系,上面的代码在任何情况下都可以使用,但是由于我具有全局标志变量,因此可以在jQuery代码之前添加一个条件,因此仅在<div>s时才执行被创造。

if(flag) {
   $('.js-click').click(function() {
      //Handle the click. 
   });
}

这有什么区别吗?是否有一定数量的元素或某种类型的jQuery选择可以提高效率?

epascarello

您为什么不只使用事件冒泡,而不必担心何时添加事件呢?

$(document /*or a container element that holds them all*/).on("click", ".js-click", function() {
    //handle the click
});

这样做的好处是您不必一次就将click事件添加到多个元素中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章