我正在使用$(".button").on("click", function(){ });
点击一个在容器上的按钮,然后ajax调用完成,内容用新的东西更新,然后当我尝试点击.button
时,它不起作用……当我单击该按钮时,不会返回任何内容。
我甚至试过
$(".button").live("click", function(){ });
或
$(".button").click(function(){ });
我怎么才能让它工作呢?
html编辑: my :
<div class="container">
<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>
<input type="button" value="reload" class="button" />
</div>
发布于 2012-02-19 05:53:16
应该这样做。
$('body').on('click', '.button', function (){
alert('click!');
});
如果您有一个在ajax请求期间不会更改的容器,则性能会更高:
$('.container').on('click', '.button', function (){
alert('click!');
});
始终将委托事件绑定到将包含动态元素的最接近的静态元素。
发布于 2012-02-19 05:51:21
好吧,我通过正确使用.on()函数解决了我的问题,因为我缺少一个参数。
而不是
$(".button").on("click", function() { } );
我用过
$(".container").on("click", ".button", function() { } );
发布于 2013-04-03 19:52:42
而不是:
$(".button").on("click", function() { } );
我使用:
$(".container").on("click", ".button", function() { } );
我用过这个,它起作用了。
https://stackoverflow.com/questions/9344306
复制相似问题