我在新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) { .. } );
你知道更好的解决方案吗?
答案 0 :(得分:2)
这是on()
的预期行为。
$("#form-xyz").on('submit', function(e) { .. } );
可能不起作用,因为在绑定处理程序后将form-xyz
添加到DOM。如果您需要使用on()
的动态元素,则需要使用委派的事件侦听器,这是您在第二个示例中所做的。