Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-下拉菜单show/hide onclick-单击外部时需要隐藏_Jquery_Menu_Hide_Show - Fatal编程技术网

jQuery-下拉菜单show/hide onclick-单击外部时需要隐藏

jQuery-下拉菜单show/hide onclick-单击外部时需要隐藏,jquery,menu,hide,show,Jquery,Menu,Hide,Show,我有一个下拉菜单使用下面的代码工作。它在点击时显示/隐藏很好,但我也希望在点击菜单外时将其隐藏-有人能帮忙吗,大脑今天不工作了 $( "li.dropmenu" ).click(function() { $( this ).toggleClass( 'selected' ); if ( $( this ).hasClass( 'selected' ) ) { $( '.dropdown' ).show(); } else { $(

我有一个下拉菜单使用下面的代码工作。它在点击时显示/隐藏很好,但我也希望在点击菜单外时将其隐藏-有人能帮忙吗,大脑今天不工作了

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

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

});
试试这个

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

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

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

这是一个老问题,但如果其他人也有同样的问题,可以通过单击事件解决。其思想是使用其id或类离开特定元素,并单击主体

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

我希望它有帮助

不幸的是,这似乎不起作用-下拉列表甚至没有出现。
$(“body”).click(function(){$(.dropdown”).hide();})尝试此操作单击主体会将其隐藏一次,这样它就不会出现,因为单击显示在主体中,而隐藏在初始显示中的效果更为明显