我怎样才能做到这一点?
event.target
返回一个 HTML 对象,
我的元素是一个 jQuery 对象。
除了比较 ID 或类之外,还有更好的方法来确定 event.target = my_jquery_object 吗?
我想确保它是同一个对象,而不仅仅是具有相似类的元素......
我尝试过$(event.target) !== the_element
它失败了
该元素在开头定义为$('.something', $(this))
我想做的是,当用户在框外单击时关闭框,但条件是单击不是在首先打开框的链接上进行的。
所以我有这个:
$(document).click(function(event){
if(($(event.target).parents().index(box) == -1)
&& box.is(':visible')){
close();
}
});
我想添加另一个条件来验证是否单击了打开该框的链接。
这可行,但我不喜欢它:
if($(event.target).attr('id') != the_element)
:)
您可以使用 jQuery 从 jQuery 获取实际的 DOM 元素.get(0)
或者简单地the_element[0]
。不过,最好还是用 jQuery 来检查一下。
if (the_element.is(event.target))
{
...
}
使用你的例子:
$(document).click(function(event){
if (the_element.is(event.target)) {
return false;
}
if(($(event.target).parents().index(box) == -1)
&& box.is(':visible')){
close();
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)