ajax调用后jQuery点击不起作用

我是栈

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

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

jQuery(document).on('click', '#menu', function(){ //你的代码在这里});

这是我的 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>

这是一步一步的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">
    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>

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AJAX调用后jQuery功能不起作用

来自分类Dev

jQuery Datepicker在Ajax调用后不起作用

来自分类Dev

jQuery函数在Ajax调用后不起作用

来自分类Dev

jQuery datepicker在ajax调用后不起作用

来自分类Dev

ajax调用后,sorter插件不起作用(jquery tablesorter)

来自分类Dev

将jQuery更新至1.10.2后,Ajax调用后jQuery Range Slider不起作用

来自分类Dev

jQuery UI选项卡在Ajax调用后不起作用

来自分类Dev

ajax调用后php echo javascript函数不起作用?

来自分类Dev

Ajax调用后addClass()函数不起作用

来自分类Dev

Ajax调用后复选框不起作用

来自分类Dev

Javascript事件在Ajax调用后不起作用

来自分类Dev

addClass() 函数在 AJAX 调用后不起作用

来自分类Dev

Javascript 悬停 addclass 在 Ajax 调用后不起作用

来自分类Dev

jQuery .click函数在函数调用后不起作用

来自分类Dev

在点击不起作用-jQuery

来自分类Dev

Jquery ajax获取请求在点击功能内不起作用

来自分类Dev

$ ajax url的Ajax和jQuery调用不起作用

来自分类Dev

AJAX 调用不起作用 - PHP、MySQL、jQuery/Ajax

来自分类Dev

在ajax调用后插入带有html()的选项后,Select不起作用(Bootstrap Selectpicker)

来自分类Dev

为什么AJAX调用后我的.text()操作不起作用?

来自分类Dev

在ajax调用不起作用后,Yii从控制器操作重定向

来自分类Dev

淘汰赛中的ajax调用后,datepicker不起作用

来自分类Dev

在ajax调用后尝试调整表大小时,可触发触发器不起作用

来自分类Dev

在动态元素(骨干)中进行ajax调用后,单击功能不起作用

来自分类Dev

事件触发后,ajax调用后创建的按钮不起作用

来自分类Dev

ajax调用后php echo javascript函数不起作用吗?

来自分类Dev

在ajax调用不起作用后,Yii从控制器操作重定向

来自分类Dev

在动态元素(骨干)中进行ajax调用后,单击功能不起作用

来自分类Dev

淘汰赛中的ajax调用后,datepicker不起作用

Related 相关文章

  1. 1

    AJAX调用后jQuery功能不起作用

  2. 2

    jQuery Datepicker在Ajax调用后不起作用

  3. 3

    jQuery函数在Ajax调用后不起作用

  4. 4

    jQuery datepicker在ajax调用后不起作用

  5. 5

    ajax调用后,sorter插件不起作用(jquery tablesorter)

  6. 6

    将jQuery更新至1.10.2后,Ajax调用后jQuery Range Slider不起作用

  7. 7

    jQuery UI选项卡在Ajax调用后不起作用

  8. 8

    ajax调用后php echo javascript函数不起作用?

  9. 9

    Ajax调用后addClass()函数不起作用

  10. 10

    Ajax调用后复选框不起作用

  11. 11

    Javascript事件在Ajax调用后不起作用

  12. 12

    addClass() 函数在 AJAX 调用后不起作用

  13. 13

    Javascript 悬停 addclass 在 Ajax 调用后不起作用

  14. 14

    jQuery .click函数在函数调用后不起作用

  15. 15

    在点击不起作用-jQuery

  16. 16

    Jquery ajax获取请求在点击功能内不起作用

  17. 17

    $ ajax url的Ajax和jQuery调用不起作用

  18. 18

    AJAX 调用不起作用 - PHP、MySQL、jQuery/Ajax

  19. 19

    在ajax调用后插入带有html()的选项后,Select不起作用(Bootstrap Selectpicker)

  20. 20

    为什么AJAX调用后我的.text()操作不起作用?

  21. 21

    在ajax调用不起作用后,Yii从控制器操作重定向

  22. 22

    淘汰赛中的ajax调用后,datepicker不起作用

  23. 23

    在ajax调用后尝试调整表大小时,可触发触发器不起作用

  24. 24

    在动态元素(骨干)中进行ajax调用后,单击功能不起作用

  25. 25

    事件触发后,ajax调用后创建的按钮不起作用

  26. 26

    ajax调用后php echo javascript函数不起作用吗?

  27. 27

    在ajax调用不起作用后,Yii从控制器操作重定向

  28. 28

    在动态元素(骨干)中进行ajax调用后,单击功能不起作用

  29. 29

    淘汰赛中的ajax调用后,datepicker不起作用

热门标签

归档