我有一个提交表单的按钮
按钮已在页面上。
因此,如果我想阻止提交,我可以这样做:
$(".myBtn").on('click',function (e){ e.preventDefault();.....});
但如果将来要注入按钮,我可以这样做:
$("body").on('click',".myBtn",function (e){ e.preventDefault();.....});
但它不起作用,表格提交。
如果处理程序没有直接附加到元素本身而是附加到委托目标,我怎样才能实现我的目标?
答案 0 :(得分:1)
您绝不应将点击处理程序附加到提交按钮,以防止提交表单。始终绑定表单的“提交”事件 - 如果用户按Enter键提交表单而不是单击,该怎么办?
$(document).on('submit','#your-form',function(e) {
e.preventDefault();
});
至于回答你的直接问题,你的代码应该可以正常工作。确保您的按钮具有正确的类名,并确保在单击可能导致e.preventDefault()被忽略的按钮之前或之后页面上没有出现JS错误。