这是我的coffeescript,我跟踪所有身体点击:
$('body').on 'click', (e) ->
if not $(e.target).hasClass('notification') and $(e.target).parents('td.notification').length != 1
$('a.notification-link').popover('hide')
根据js2coffe它应该是:
$('body').on('click', function(e) {
if (!$(e.target).hasClass('notification') && $(e.target).parents('td.notification').length !== 1) {
return $('a.notification-link').popover('hide');
}
});
我能以某种方式比这次检查更简单吗?
答案 0 :(得分:1)
正如.closest()
的jQuery doc中所述:
对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。
因此,只需检查班级notification
即可:
if($(e.target).closest('.notification').length === 0)...