我在jQuery中有一个远程提交的表单:
<%= form_for @order, :remote => true do |f| %>
在客户端,我绑定到表单提交事件(在咖啡脚本中):
$('#new_order').live 'submit', (e) ->
我希望阻止rails远程表单提交,但我似乎无法让它工作,我已经尝试过:
e.preventDefault()
e.stopPropagation()
return false
这些似乎都不起作用。我是Rails的新手,所以我想知道我是否遗漏了一些关于远程提交处理程序的东西?
编辑:
我发现如果我使用bind
代替live
答案 0 :(得分:1)
似乎问题是live无法可靠地阻止文档中早先绑定的默认操作:
在事件处理程序中调用event.stopPropagation()无效 阻止文件中较低的事件处理程序;事件 已经传播到文件。&#34;
使用:
$('#new_order').on 'submit', (e) ->
诀窍!