通过新的jQuery实时提交表单 - 没有.live

时间:2013-08-20 12:54:51

标签: jquery forms submit live

我在新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) { .. } );

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

1 个答案:

答案 0 :(得分:2)

这是on()的预期行为。

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

您可以在documentation for direct and delegated events

中详细了解相关信息