0

我正在使用基于Jack Moore 文章的叠加层滚动我自己的模式。我一直在使用 CoffeeScript 而不是直接的 JS 来解决它。我将让覆盖点击与关闭按钮点击做同样的事情,我正在寻找一种优雅的 DRY 方法。

我已经看到多个 jQuery对象如何使用 .add 共享相同的点击,并且我在 CoffeeScript 中使用了这种方法来做同样的事情并且它有效,但我想知道是否有更好或更正确的方法来做到这一点?

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

我以为我看到了列出用逗号分隔的对象然后附加了 .click() 的东西,可能把我看到的东西混在一起了。

4

1 回答 1

0

逗号是选择器字符串中的多重选择器,因此您可以说

$('#this, .that')

在一个选择器字符串中组合多个选择器。所以这些具有相同的效果:

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

但是你没有选择器字符串,你已经有了你感兴趣的 jQuery 对象,所以这add是要走的路。

于 2013-04-22T21:55:32.160 回答