2

我很好奇以下哪一项(理论上)在 DOM 效率方面更好。我意识到这两个片段本身可能会写得更简洁,但我真的想找出何时何地使用以及 if/else 与进行两个不同的 jquery 调用。

片段 1

$('.ele').click(function() {
  if ($(this).hasClass('force')) {
    //use it
  } else {
    //hide
  }
});

片段 2

$('.ele.force').click(function() {
  //use it
});

$('.ele.ring').click(function() {
  //hide
});
4

1 回答 1

0

避免条件语句并使用函数总是好的。如果我们不知道事件触发时的状态,我们可能最终会在函数中使用条件。

但是在这里我们知道,如果一个element(.ele)有类.force,那么行为就是//use it,否则就是//hide。所以最好有两个独立的事件处理程序。

注意:.on()/.live()使用这种绑定非常安全,因为元素可能会改变其状态。

于 2013-05-06T13:04:37.617 回答