我有这段代码:
jQuery('.hoverbgpfthnailiface').click(function(e){
var target = e.target;
while (target.nodeType != 1) target = target.parentNode;
if(target.tagName != 'TEXTAREA'){
jQuery('.header-search-form').css({ 'display' : 'none' });
}
});
奇怪的是,如果我将它放在Chrome控制台上,它可以正常工作,但是当我在我的文件上添加它时,它不起作用,并且在控制台中没有显示任何错误。 知道为什么会这样吗?
答案 0 :(得分:1)
您是否尝试过将代码放入就绪函数?
jQuery(document).ready(function() {
jQuery('.hoverbgpfthnailiface').click(function(e){
var target = e.target;
while (target.nodeType != 1) target = target.parentNode;
if(target.tagName != 'TEXTAREA'){
jQuery('.header-search-form').css({ 'display' : 'none' });
}
});
});
告诉我这是否适合你:)
修改强>
只有一件事,如果您感兴趣,在调用绑定函数的jQuery事件中,this
与e.target
<强> EDIT2 强> 您在具有hoverbgpfthnailiface类的元素存在之前执行代码。 您正在第2716行创建它们,因为$(document).ready低于您在稍后执行的问题代码中使用的那个。
所以我建议您尝试将代码从第103行移到2717
答案 1 :(得分:0)
你不一定要使用jQuery函数,你可以使用基本的JS:
尝试:
document.getElementById('your element name').style.display = 'none';
如果有帮助,请告诉我。