ajax调用后单击不工作时的jQuery

ajax调用后单击不工作时的jQuery,jquery,ajax,Jquery,Ajax,我的网站基于WordPress,页面通过点击菜单上的ajax加载。 我的菜单是垂直的,带有固定面板类型的侧边栏。 当在网站上单击菜单图标时,菜单面板将显示,并在单击链接/菜单后隐藏 我的问题是,单击面板中的菜单/链接后,页面通过ajax加载,加载页面后,菜单按钮不起作用,面板也不再打开。我已经试过了: jQuery(document).on('click','#menu',function(){//Your code here}) 这是我的JS代码。请检查并告诉我我做错了什么? <scri

我的网站基于WordPress,页面通过点击菜单上的ajax加载。 我的菜单是垂直的,带有固定面板类型的侧边栏。 当在网站上单击菜单图标时,菜单面板将显示,并在单击链接/菜单后隐藏

我的问题是,单击面板中的菜单/链接后,页面通过ajax加载,加载页面后,菜单按钮不起作用,面板也不再打开。我已经试过了:

jQuery(document).on('click','#menu',function(){//Your code here})

这是我的JS代码。请检查并告诉我我做错了什么?

<script type="text/javascript">
    // Dropdown Menu Code for vertical menu panel
    jQuery(document).ready(function(){
        jQuery("li.menu-item-has-children ul").hide();
    });
    jQuery(document).on("click", "li.menu-item-has-children a", function() {
        jQuery(this).next("ul").toggle();
    });
    // This jQuery code For Automaticly Hide Panel after onclick a link
    jQuery(document).on('click','li.menu-item a', function(){
        var href = jQuery(this).attr('href');
        // If link has no value then don't jQuery will don't tigger
        if (href === undefined || jQuery.trim(href) === '') {
            //event.preventDefault();
            console.log('No href value');
        }else{
            jQuery('section.side_menu').removeClass('open-menu');
            jQuery('#side_menu_button_links').removeClass('open');
        }
    });
    // Menu button on click panel will open/close
    jQuery(document).on('click','#side_menu_button_links', function(){
        if(jQuery(this).hasClass('open')){
            jQuery(this).removeClass('open');
            jQuery('section.side_menu').removeClass('open-menu');
        }else{
            jQuery(this).addClass('open');
            jQuery('section.side_menu').addClass('open-menu');
        }
    });
    //Close Menu on click Panel X icon.
    jQuery(document).on('click','a.close_my_menu', function(){
        jQuery('section.side_menu').removeClass('open-menu');
        jQuery('#side_menu_button_links').removeClass('open');
    });
</script>
<script type="text/javascript">
    jQuery(document).ready(function(){
        jQuery("li.menu-item-has-children ul").hide();
    });
    jQuery(document).on("click", "li.menu-item-has-children a", function() {
        jQuery(this).next("ul").toggle();
    });
    jQuery(document).on('click','li.menu-item a', function(){
        var href = jQuery(this).attr('href');
        if (href === undefined || jQuery.trim(href) === '') {
            //event.preventDefault();
            console.log('No href value');
        }else{
            jQuery('section.side_menu').removeClass('open-menu');
            jQuery('#side_menu_button_links').removeClass('open').addClass('close');
        }
    });

    // If menu Open
    jQuery(document).on('click','a.side_menu_button_links.large.open', function(e){

        jQuery(this).removeClass('open').addClass('close');
        jQuery('section.side_menu').removeClass('open-menu');

    });
    // If Menu Close
    jQuery(document).on('click','a.side_menu_button_links.large.close', function(e){

        jQuery(this).removeClass('close').addClass('open');
        jQuery('section.side_menu').addClass('open-menu');

    });

    jQuery(document).on('click','a.close_my_menu', function(){
        jQuery('section.side_menu').removeClass('open-menu');
        jQuery('#side_menu_button_links').removeClass('open').addClass('close');
    });
</script>

//垂直菜单面板的下拉菜单代码
jQuery(文档).ready(函数(){
jQuery(“li.menu-item-has-children-ul”).hide();
});
jQuery(document).on(“单击”,“li.menu-item-has-children a”,函数(){
jQuery(this.next(“ul”).toggle();
});
//此jQuery代码用于在单击链接后自动隐藏面板
jQuery(文档).on('click','li.menu-item a',function()){
var href=jQuery(this.attr('href');
//如果链接没有值,那么don'tjQuery将不会跳跳虎
if(href==未定义| | jQuery.trim(href)==''){
//event.preventDefault();
log('No href value');
}否则{
jQuery('section.side_menu')。removeClass('open-menu');
jQuery('#侧菜单\按钮\链接')。removeClass('open');
}
});
//单击面板上的菜单按钮将打开/关闭
jQuery(文档).on('单击','侧边菜单\按钮\链接',函数()){
if(jQuery(this).hasClass('open')){
jQuery(this.removeClass('open');
jQuery('section.side_menu')。removeClass('open-menu');
}否则{
jQuery(this.addClass('open');
jQuery('section.side_menu').addClass('open-menu');
}
});
//单击面板X图标关闭菜单。
jQuery(document).on('click','a.close\u my\u menu',function(){
jQuery('section.side_menu')。removeClass('open-menu');
jQuery('#侧菜单\按钮\链接')。removeClass('open');
});
下面是一步一步的HTML

**菜单按钮代码。单击此打开的面板**

<div class="header_inner_right">
    <div class="side_menu_button_wrapper right">
        <div class="side_menu_button" style="height: 85px;">

            <span class="side_menu_button_text">Menu </span>
            <a id="side_menu_button_links" class="side_menu_button_links large open" href="javascript:void(0)">
                <span aria-hidden="true" class="qode_icon_font_elegant icon_menu "></span> </a>
        </div>
    </div>
</div>

菜单
面板HTML代码

<section class="side_menu right light open-menu" style="overflow-y: hidden; outline: none;" tabindex="5000">
    <div class="side_menu_title">
        <h5>MENU</h5>
    </div>
    <a href="#" target="_self" class="close_my_menu"></a>
    <div id="nav_menu-5" class="widget widget_nav_menu posts_holder">
        <div class="menu-main_menu-container">
            <ul id="menu-main_menu" class="menu">
                <li id="menu-item-15350" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-14869 current_page_item menu-item-15350"><a href="http://website.com/">Home</a>
                </li>
                <li id="menu-item-15369" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-15369"><a>About Us</a>
                    <ul class="sub-menu" style="display: block;">
                        <li id="menu-item-15487" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-15487"><a href="http://website.com/who-we-are/">Who We Are</a>
                        </li>
                        <li id="menu-item-15445" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15445"><a href="http://website.com/our-tem">Our Team</a>
                        </li>
                    </ul>
                </li>
                <li id="menu-item-15372" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15372"><a href="http://website.com/per-coverages">Personal Coverages</a>
                </li>
                <li id="menu-item-15370" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15370"><a href="http://website.com/com-coverages">Commercial Coverages</a>
                </li>
                <li id="menu-item-15373" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15373"><a href="http://website.com/benefits">Group Benefits</a>
                </li>
                <li id="menu-item-15357" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15357"><a href="http://website.com/quote">Get a Quote</a>
                </li>
                <li id="menu-item-15371" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15371"><a href="http://website.com/contact">Contact</a>
                </li>
            </ul>
        </div>
    </div>
</section>

菜单

  • 我在单击jquery替换if/else方法时使用了不同的修复了它。以下是我当前的jquery代码:

    而jQuery是:

    <script type="text/javascript">
        // Dropdown Menu Code for vertical menu panel
        jQuery(document).ready(function(){
            jQuery("li.menu-item-has-children ul").hide();
        });
        jQuery(document).on("click", "li.menu-item-has-children a", function() {
            jQuery(this).next("ul").toggle();
        });
        // This jQuery code For Automaticly Hide Panel after onclick a link
        jQuery(document).on('click','li.menu-item a', function(){
            var href = jQuery(this).attr('href');
            // If link has no value then don't jQuery will don't tigger
            if (href === undefined || jQuery.trim(href) === '') {
                //event.preventDefault();
                console.log('No href value');
            }else{
                jQuery('section.side_menu').removeClass('open-menu');
                jQuery('#side_menu_button_links').removeClass('open');
            }
        });
        // Menu button on click panel will open/close
        jQuery(document).on('click','#side_menu_button_links', function(){
            if(jQuery(this).hasClass('open')){
                jQuery(this).removeClass('open');
                jQuery('section.side_menu').removeClass('open-menu');
            }else{
                jQuery(this).addClass('open');
                jQuery('section.side_menu').addClass('open-menu');
            }
        });
        //Close Menu on click Panel X icon.
        jQuery(document).on('click','a.close_my_menu', function(){
            jQuery('section.side_menu').removeClass('open-menu');
            jQuery('#side_menu_button_links').removeClass('open');
        });
    </script>
    
    <script type="text/javascript">
        jQuery(document).ready(function(){
            jQuery("li.menu-item-has-children ul").hide();
        });
        jQuery(document).on("click", "li.menu-item-has-children a", function() {
            jQuery(this).next("ul").toggle();
        });
        jQuery(document).on('click','li.menu-item a', function(){
            var href = jQuery(this).attr('href');
            if (href === undefined || jQuery.trim(href) === '') {
                //event.preventDefault();
                console.log('No href value');
            }else{
                jQuery('section.side_menu').removeClass('open-menu');
                jQuery('#side_menu_button_links').removeClass('open').addClass('close');
            }
        });
    
        // If menu Open
        jQuery(document).on('click','a.side_menu_button_links.large.open', function(e){
    
            jQuery(this).removeClass('open').addClass('close');
            jQuery('section.side_menu').removeClass('open-menu');
    
        });
        // If Menu Close
        jQuery(document).on('click','a.side_menu_button_links.large.close', function(e){
    
            jQuery(this).removeClass('close').addClass('open');
            jQuery('section.side_menu').addClass('open-menu');
    
        });
    
        jQuery(document).on('click','a.close_my_menu', function(){
            jQuery('section.side_menu').removeClass('open-menu');
            jQuery('#side_menu_button_links').removeClass('open').addClass('close');
        });
    </script>
    
    
    jQuery(文档).ready(函数(){
    jQuery(“li.menu-item-has-children-ul”).hide();
    });
    jQuery(document).on(“单击”,“li.menu-item-has-children a”,函数(){
    jQuery(this.next(“ul”).toggle();
    });
    jQuery(文档).on('click','li.menu-item a',function()){
    var href=jQuery(this.attr('href');
    if(href==未定义| | jQuery.trim(href)==''){
    //event.preventDefault();
    log('No href value');
    }否则{
    jQuery('section.side_menu')。removeClass('open-menu');
    jQuery('#侧菜单\按钮\链接')。removeClass('open')。addClass('close');
    }
    });
    //如果菜单打开
    jQuery(document).on('click','a.side\u menu\u button\u links.large.open',函数(e){
    jQuery(this).removeClass('open').addClass('close');
    jQuery('section.side_menu')。removeClass('open-menu');
    });
    //如果菜单关闭
    jQuery(document).on('click','a.side\u menu\u button\u links.large.close',函数(e){
    jQuery(this).removeClass('close').addClass('open');
    jQuery('section.side_menu').addClass('open-menu');
    });
    jQuery(document).on('click','a.close\u my\u menu',function(){
    jQuery('section.side_menu')。removeClass('open-menu');
    jQuery('#侧菜单\按钮\链接')。removeClass('open')。addClass('close');
    });
    

    我不知道if/else代码有什么问题。在ajax请求之后,if+else同时工作。我是说第一个菜单是打开的,然后是关闭的。我使用
    console.log()跟踪这一点

    控制台中有错误吗?没有错误:(它的触发器!我使用这个控制台。log('Menu work');也是。它显示它的触发器!请共享HTML,以便更好地理解问题。这里没有任何
    ajax
    代码。它在哪里?请发布您的ajax代码