这是我的代码:
$('html').on("click", function (e) {
if(!$(e).is($element)) {
hideResults();
}
});
我尝试了这个,但它不起作用。元素是一个div。我想测试事件结果是否等于元素。
EDIT 这是更新的代码,仍然无法正常工作
$(document).on("click", function (e) {
if(!$(e.target).is($element)) {
hideResults();
}
});
答案 0 :(得分:2)
您必须检查e.target
而不是事件本身。像这样:
$(document).on("click", function (e) {
if(!$(e.target).is($element)) {
hideResults();
}
});
为什么使用"html"
,document
更好!
答案 1 :(得分:0)
由于我只能猜到你想要通过点击事件的结果来完成什么,我只能向你推进正确的方向。
尝试解释给定的代码: 只是为了澄清jQuery方法的用法 on():它将一个事件处理程序附加到一个对象。在这种情况下,对象是一个包装 DOM-Element 的jQuery对象。第一个参数是您想要发生的事件,应该触发事件处理程序方法作为第三个参数,换句话说就是委托,或者在这种情况下是匿名javascript函数。这个函数将从jQuery方法 on()获取传递给它的参数。
重要的部分是你必须知道点击' -event的结果,你可以在这里找到它:https://api.jquery.com/click/
如果方法 .on()的用法不清楚,您可以在此处找到:https://api.jquery.com/on/
我希望我能帮到你!