javascript 单击外部元素时关闭元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 单击外部元素时关闭元素相关的知识,希望对你有一定的参考价值。

jQuery('.navPages-item').each(function(index, element) {
   jQuery(this).children('.navPages-action.has-subMenu').click(function(e) {
       //e.preventDefault();
       
       jQuery(this).toggleClass('is-open');
       jQuery(this).attr('aria-expanded', function (i, attr) {
           return attr == 'true' ? 'false' : 'true';
       });
       jQuery(this).next('.navPage-subMenu').toggleClass('is-open');
       return false;
   });
});

jQuery(document).click(function(e) {
   if ( jQuery(e.target).closest('.is-open').length === 0 ) {
       jQuery('.is-open').removeClass('is-open');
       jQuery('.account_open').removeClass('account_open');
   }
});

jQuery('.mobileMenu-toggle').click(function() {
    jQuery('body').toggleClass('has-activeNavPages');
    jQuery('header').toggleClass('is-open');
    jQuery(this).toggleClass('is-open');
    jQuery('.navPages-container').toggleClass('is-open');
});


jQuery('.navUser-action.navUser-action--quickSearch').click(function() {
   setTimeout(function(){
       jQuery('#quickSearch').toggleClass('is-open f-open-dropdown');
   }, 1);
});

jQuery('.navUser-item.navUser-item--account .navUser-action.has-dropdown').click(function() {
   setTimeout(function(){
    //    jQuery(this).toggleClass('is-open');
       jQuery('#userSelection').toggleClass('is-open f-open-dropdown account_open');
   }, 1);
   return false;
});

以上是关于javascript 单击外部元素时关闭元素的主要内容,如果未能解决你的问题,请参考以下文章

在 Bootstrap 3 中单击导航栏元素外部时如何关闭打开的折叠导航栏?

jQuery:单击外部元素以“关闭”使用toggleClass出现的菜单

在 Blazor 上单击 div 或元素外部以将其关闭的事件

javascript 检测单击外部元素

Bootstrap:单击菜单外部时如何关闭打开的折叠导航栏?

通过使用纯Javascript单击页面上的任意位置来关闭元素