以一个小例子来简单说明下情况

1
2
3
4
5
6
7
8
 <script src="jquery-1.11.0.min.js"></script>
<input type="button" value="点击我" id="k" />
 
<script>
$('#k').click(function() {
    alert("kkkkk");
})
</script>

如果直接在页面上这么写,可以弹出"kkkkk"。然而当input元素是ajax动态加载进来并输出到页面的,这时弹出窗就失效了,相当于click事件没有被绑定到id为k的元素上。

这时script里可以这样写:

1
2
3
$(document).on('click','#k',function() {
    alert("kkkkk");
})

一般使用live()或者delegate()替换on()也能达到预期效果。但注意我举例的时候使用的是jquery-1.11.0版本,从 jquery1.9版本开始就去除掉live(),听说是性能问题。所以高版本的jquery可以用delegate()和on()。

相关文章:

  • 2022-12-23
  • 2021-10-23
  • 2021-07-27
  • 2022-12-23
  • 2021-10-19
  • 2021-11-22
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-02-07
  • 2021-08-16
  • 2021-06-13
  • 2022-12-23
相关资源
相似解决方案