功能在实时功能所在的地方不起作用

时间:2012-09-20 20:35:56

标签: jquery

我已经读过不推荐使用live函数,而应该使用on方法。

所以我从

编辑了我的代码
$('form').live('submit', function (event) {})

$('form').on('submit', function (event) {})

它不再起作用了:-)我想知道为什么?

BTW表格元素是动态添加的。

2 个答案:

答案 0 :(得分:2)

改为使用

$('body').on('submit', 'form', function (event) {})

检查on方法

的jquery文档中的直接和委派事件部分

答案 1 :(得分:2)

您需要将事件处理程序附加到页面加载时存在于DOM中的元素:

$('body').on('submit', 'form', function(event) {
 ...
});

你应该用body替换一个更接近form的元素,这样事件只需要冒出一个级别,从而提高性能,例如: -

<div id="container">
  <form>
    ...
  </form>
</div>

然后你会使用:

$('#container').on('submit', 'form', function(event) {
  ...
});

所有这些信息都可以在documentation

中找到