0

我读过 live 功能已被弃用,应该使用 on 方法。

所以我编辑了我的代码

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

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

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

顺便说一句,表单元素是动态添加的。

4

2 回答 2

2

改用这个

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

检查jquery 文档上的直接和委托事件on部分以获取方法

于 2012-09-20T20:37:22.653 回答
2

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

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

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

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

然后你会使用:

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

所有这些信息都可以在文档中找到

于 2012-09-20T20:37:53.703 回答