2014-11-11 2 views
1

Я пытаюсь сделать следующий код, который работает отлично:JQuery, как избежать меню скрыть, когда я нажимаю на него

/* 
** SHOW OR HIDE A MENU DEPENDING IF I CLICK OUTSIDE OR INSIDE 
*/ 
function showBasket(){ 
    var $basket=$('#basket'); 
    var nstyle=$basket.css("display"); 
    if (nstyle=='none'){ 
     $basket.fadeIn(false,function(){//showing the basket 
      $('html').bind("click",function(){ 
       $basket.fadeOut();//hidding the basket 
       $("html").unbind("click"); 
      }); 
     }); 
    } 
} 

Возможен там, чтобы избежать этого слоя «корзина» не скрывает, когда Я нажимаю на него? Моя проблема заключается в том, что когда я нажимаю в документе html documen, он скрывается, и я хочу этого, но я также не хочу включать в это событие «корзину» слоя, потому что у меня есть элементы управления, которые можно использовать в этом слое.

Буду признателен за любую помощь или идею, заблаговременно!

+2

И если вы используете последнюю версию JQuery вы должны использовать '.На()' вместо '.bind()' –

ответ

1

попробовать это

function showBasket(){ 
    var $basket=$('#basket'); 
    var nstyle=$basket.css("display"); 
    $basket.on('click',function(e){ 
     e.stopPropagation(); 
     return false; 
    } 
    if (nstyle=='none'){ 
     $basket.fadeIn(false,function(){//showing the basket 
      $('html').bind("click",function(){ 
       $basket.fadeOut();//hidding the basket 
       $("html").unbind("click"); 
      }); 
     }); 
    } 
} 
+0

нет, извините, до сих пор не работает – galeonweb

+1

@ galeonweb только что обновил мой ответ – Jimmery

+0

Спасибо, Джиммери, он отлично работает! – galeonweb

Смежные вопросы