如何在单击正文时防止div上的onclick事件?

时间:2017-07-25 12:01:33

标签: javascript jquery

我想在单击文档的任何位置时为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();
    }

3 个答案:

答案 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