我想在单击文档的任何位置时为body,html元素执行功能,并且还有一个div标签,即onclick事件将在那里。两者都在相互冲突时如何防止点击该div。尝试了事件停止传播和事件防止默认 例如: jd只不过是jquery
$jd = jQuery
以下事件应仅触发特定div。但他的事件与身体onclick冲突。
$jd('.menu-left a').click(function(){
$jd('.menu-left a').removeClass('active');
if($jd(this).hasClass('add_item_team')) self.team.create();
if($jd(this).hasClass('add_item_qrcode')) self.qrcode.open();
$jd(this).addClass('active');
jQuery("#text-lock").trigger("click");
});
jQuery(document).on('click','body',function(event){
/*console.log("adsfasddfs");
var finding_span;
finding_span = $jd(".design-area").find('.content-inner span.drag-item');
if(event.target.id == "dg-left"){
return false;
}else{
if(finding_span.length>0){
console.log("cameeeee");
design.item.unselect();
}
}*/
var finding_span;
finding_span = $jd(".design-area").find('.content-inner span.drag-item');
if(finding_span.length>0){
design.item.unselect();
}
答案 0 :(得分:1)
jQuery(document).on('click','body',function(event){
event.preventDefault();
event.stopPropagation();
var finding_span;
finding_span = $jd(".design-area").find('.content-inner span.drag-item');
if(finding_span.length>0){
design.item.unselect();
}
希望这可以帮到你
答案 1 :(得分:0)
尝试以下
$jd(function(){
event.preventDefault();
event.stopPropagation();
$jd('.menu-left a').click(function(){
$jd('.menu-left a').removeClass('active');
if($jd(this).hasClass('add_item_team')) self.team.create();
if($jd(this).hasClass('add_item_qrcode')) self.qrcode.open();
$jd(this).addClass('active');
jQuery("#text-lock").trigger("click");
});
});
答案 2 :(得分:0)
writeToLog