2014-02-26 43 views
0

我正在使用語言下拉菜單。只有一個問題,我們可以停止隱藏下拉菜單,同時使用下拉菜單中的滾動條?當點擊向上/向下箭頭或滾動條時,菜單變得隱藏起來。jQuery下拉菜單在使用滾動條時隱藏

這裏是小提琴: http://jsfiddle.net/awaises/BwcS8/

jQuery的

$(function() { 
//hide menu if we click any where on the page 
var menuClicked = false; 
$(document).on('click', function(){ 
    if(menuClicked){ 
     menuClicked = false; 
     return; 
    } 
    if($(".add_language_menu_item").css('display') != 'none'){ 
     $(".add_language_menu_item").stop(true, true).slideToggle(); 
    } 
}); 
//open menu if we click on Add More Languages menu 
$(".add_language_menu").each(function(e) { 
    if ($(this).find(".add_more_languages").length > 0) { 
     $(this).mousedown(function(e) { 
      if($(e.target).attr('type') == 'checkbox') return; 
      $(this).find(".add_language_menu_item").stop(true, true).slideToggle(); 
      menuClicked = true; 
     });   
    } 

}); 

});

回答

1

修改我們的代碼點點:

$(".add_language_menu").each(function(e) { 

    if ($(this).find(".add_more_languages").length > 0) { 

      if($(e.target).attr('type') == 'checkbox') return; 
     $(this).click(function(){ 
      $(this).find(".add_language_menu_item").slideToggle(); 
      menuClicked = true; 
      }); 
    }}); 

Working Fiddle

+0

我試過,但它不工作。也許我在錯誤的地方放行。我應該在哪裏添加這條線,你能指導嗎? –

+0

將其添加到子點擊事件。 –

+0

對不起,我不擅長jQuery。你能讓我確切地知道我應該添加哪一行e.StopPropagation(); –