为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery单击不适用于ajax生成的内容

jQuery单击不适用于ajax生成的内容

回首忆惘然 2019-10-25 11:06:44
我在用 $(".button").on("click", function(){ });单击到容器上的按钮,但随后进行了ajax调用,并且内容用新内容进行了更新,然后当我尝试单击.button它时将不起作用...单击按钮时,什么也不会返回。我什至试过$(".button").live("click", function(){ });要么$(".button").click(function(){ });我该如何运作?编辑: 我的HTML:<div class="container">   <ul>       <li>item1</li>       <li>item2</li>       <li>item3</li>   </ul>   <input type="button" value="reload" class="button" /></div>
查看完整描述

3 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

应该以这种方式完成。


$('body').on('click', '.button', function (){

        alert('click!');

    });

如果您的容器在ajax请求期间没有更改,则性能更高:


$('.container').on('click', '.button', function (){

        alert('click!');

    });

始终将委托事件绑定到将包含动态元素的最接近的静态元素。


查看完整回答
反对 回复 2019-10-25
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

好的,因为我缺少一个参数,所以可以通过正确使用.on()函数解决我的问题。


代替


$(".button").on("click", function() { } );

我用了


$(".container").on("click", ".button", function() { } );


查看完整回答
反对 回复 2019-10-25
  • 3 回答
  • 0 关注
  • 395 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信