jQuery - 下拉显示/隐藏onclick - 在外部点击时需要隐藏

时间:2014-03-26 10:37:53

标签: jquery menu hide show

我有一个使用下面代码的下拉菜单。它显示/隐藏点击很好,但是当我点击菜单外面时我想隐藏它 - 任何人都可以协助,大脑今天不工作了吗?

    $( "li.dropmenu" ).click(function() {
    $( this ).toggleClass( 'selected' );

    if ( $( this ).hasClass( 'selected' ) ) {
        $( '.dropdown' ).show();
    } else {
        $( '.dropdown' ).hide();
    }

});

2 个答案:

答案 0 :(得分:0)

试试这个

$(document).ready( function(){
   $( "li.dropmenu" ).click(function() {
      $( this ).toggleClass( 'selected' );

      if ( $( this ).hasClass( 'selected' ) ) {
        $( '.dropdown' ).show();
      } else {
        $( '.dropdown' ).hide();
      } 
    });

    $(document).click( function(){
        $('.dropdown').hide();
    });
});

DEMO

答案 1 :(得分:0)

它的旧问题,但如果其他人有同样的问题,可以使用点击事件解决。想法是使用其id或类保留特定元素,并单击body。

    $('body').click(function(e){
        if($(e.target).attr('class')!=='dropmenu')
            $('.dropdown').hide();
    });

我希望它有所帮助