0

我在新 jQuery(1.10.X、2.X)上提交实时表单时遇到问题。我需要通过handlebarJS 填充表单并在模态窗口中显示表单。
因为函数 .live() 不再存在。

老方法:

$("#form-xyz").live('submit', function(e) {  .... } );

这不起作用:

$("#form-xyz").on('submit', function(e) { .. } );

这项工作:

$(document).on('submit', "#form-xyz", function(e) { .. } );

你知道更好的解决方案吗?

4

1 回答 1

2

这是 的预期行为on()

$("#form-xyz").on('submit', function(e) { .. } );可能不起作用,因为form-xyz在绑定处理程序后添加到 DOM。如果您需要将动态元素与 一起使用on(),则需要使用委托事件侦听器,这就是您在第二个示例中所做的。

您可以在直接和委托事件的文档中阅读更多相关信息。

于 2013-08-20T13:35:10.877 回答