[英]how to get the target's parent
我该如何进行这项工作。
如果目标的父对象是.form_contact_div,则console.log('保持打开的表单');
我正在使用的代码,但不适用于(否则if)条件,仅适用于if和else。
码:
jQuery("body").click(function(e) {
var target = jQuery(e.target);
console.log(target);
if(jQuery(target).parents('#contact-btn-div').length
&& jQuery('#contact-btn-div').hasClass('close')) {
console.log('keep open btn');
jQuery("#form_contact_wrapper").animate({'left': '0px'});
jQuery("#contact-btn-div").removeClass('close');
}
else if(jQuery(target).parent().is('.form_contact_div')) {
console.log('keep open form');
jQuery("#form_contact_wrapper").animate({'left': '0px'});
}
else{
console.log('keep close');
jQuery("#form_contact_wrapper").animate({'left': '-472px'});
jQuery("#contact-btn-div").addClass('close');
}
});
尝试与此类似e.taget更换
var target = $(this);
因为您需要将clicked元素作为标记,所以最好使用它,并且您的代码应该像这样
jQuery("body").click(function(e) {
var target = $(this);
console.log(target);
if(target.parent('#contact-btn-div').length
&& jQuery('#contact-btn-div').hasClass('close')) {
console.log('keep open btn');
jQuery("#form_contact_wrapper").animate({'left': '0px'});
jQuery("#contact-btn-div").removeClass('close');
}
else if(target.parent().is('.form_contact_div')) {
console.log('keep open form');
jQuery("#form_contact_wrapper").animate({'left': '0px'});
}
else{
console.log('keep close');
jQuery("#form_contact_wrapper").animate({'left': '-472px'});
jQuery("#contact-btn-div").addClass('close');
}
});
检查已编辑的代码。
<div id="contact-btn-div" class="close" style="width:300px; height:200px; border:1px solid #666; background-color:#F60;">
<div style="width:200px; height:100px; border:1px solid #0FC; background-color:#9CC;"></div>
</div>
还有Javascript
$(function(){
$("body").click(function(e) {
var target = $(e.target);
console.log(target);
if(target.parent('#contact-btn-div').length
&& $('#contact-btn-div').hasClass('close')) {
console.log('keep open btn');
$("#contact-btn-div").removeClass('close');
}
});
});
我认为您会得到所需的东西。 干杯:)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.