使用CoffeeScript为多个jQuery对象设置相同的单击

时间:2013-04-22 21:27:37

标签: jquery coffeescript

我正在使用基于Jack Moore article的叠加层滚动我自己的模态。我一直在使用CoffeeScript而不是直接JS来解决它。我将使用叠加点击执行与关闭按钮单击相同的操作,我正在寻找一种优雅的DRY方法。

我已经看到多个jQuery objects can share the same click如何使用.add和我在CoffeeScript中使用该方法来做同样的事情并且它有效,但我想知道是否有更好或更正确的方法做到了吗?

# close the modal if you click the close button or overlay
$overlay.add($close).click (event) =>
  event.preventDefault()
  @closeModal()

我以为我看到的东西列出了用逗号分隔的对象,然后附加了.click(),可能会混合我见过的东西。

1 个答案:

答案 0 :(得分:0)

逗号是选择器字符串中的multi-selector,因此您可以说

$('#this, .that')

在选择器 string 中组合多个选择器。所以这些也有同样的效果:

$a = $('#this').add($('.that'))
$b = $('#this, .that')

但是你没有选择器字符串,你已经拥有了你感兴趣的jQuery对象,所以add是可行的方法。