首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在ajax调用之后下拉列表不起作用?

为什么在ajax调用之后下拉列表不起作用?
EN

Stack Overflow用户
提问于 2022-06-29 09:56:14
回答 1查看 57关注 0票数 1

我正在使用jquery代码在侧栏过滤器上做下拉列表。这段代码正常工作,但是在选择过滤器之后,这段代码就不能工作了,我想是因为ajax调用。什么是解决方案。请引导我

代码语言:javascript
复制
jQuery(function(){
    jQuery("#sidebar h4, #sidebar h3, body.woocommerce #sidebar>div>.inner .widget h4, body.woocommerce #sidebar>div>.inner .widget h3").on('click', function(){
        jQuery(this).parent().toggleClass("dropdown-hide");
    });
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-29 10:33:44

代码语言:javascript
复制
jQuery(document).on('click', "SELECTOR", function(event){ 
});

此操作将单击事件绑定到文档及其中的所有子元素。此方法还将用于动态创建的元素。

处理jQuery(document).on(事件

代码语言:javascript
复制
jQuery(function(){
        setTimeout(function () {
            jQuery('.btn-group').html('<button class="btn-default">Click</button>')
        },  1000);
        jQuery(document).on('click', ".btn-default", function(event){
            console.log('clicked');
        });
    });
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="btn-group"></div>

不处理jQuery(selector).on(事件

代码语言:javascript
复制
jQuery(function(){
        setTimeout(function () {
            jQuery('.btn-group').html('<button class="btn-default">Click</button>')
        },  1000);
        jQuery(".btn-default").on('click', function(){
            console.log('clicked');
        });
    });
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="btn-group"></div>

所以,你必须像下面这样改变

代码语言:javascript
复制
jQuery(document).on('click', "#sidebar h4, #sidebar h3, body.woocommerce #sidebar>div>.inner .widget h4, body.woocommerce #sidebar>div>.inner .widget h3", function(event){

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72799387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档