r0s*_*kar 0 jquery jquery-selectors
作为Javascript和jQuery的新手,我不确定这根本不可能,或者我只是做了一个完全愚蠢的错误:
我试图隐藏div在div自身之外的任何点击.
我已经简化了用于演示目的的代码:
HTML
<html>
<div class="tooltip">
Bla Bla Bla
</div>
</html>
Run Code Online (Sandbox Code Playgroud)
jQuery的
$('html:not(.tooltip)').click(function() {
$('.tooltip').hide();
});
Run Code Online (Sandbox Code Playgroud)
演示
添加空间:
$('html :not(.tooltip)')
Run Code Online (Sandbox Code Playgroud)
当您说html:not(...),您正在寻找html与您的选择器不匹配的所有元素.
添加空格会查找html元素的子元素,这正是您想要的.
看看这是否符合您的要求:http://jsfiddle.net/yCx6F/2/
实际上,你应该这样做:
$('.tooltip').click(function(e) {
e.stopPropagation();
});
// Once the `<div>` is created, in the same function:
$(document).one(function() {
$('.tooltip').hide();
});
Run Code Online (Sandbox Code Playgroud)