我正在使用基于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(),可能会混合我见过的东西。
答案 0 :(得分:0)
逗号是选择器字符串中的multi-selector,因此您可以说
$('#this, .that')
在选择器 string 中组合多个选择器。所以这些也有同样的效果:
$a = $('#this').add($('.that'))
$b = $('#this, .that')
但是你没有选择器字符串,你已经拥有了你感兴趣的jQuery对象,所以add
是可行的方法。