使用Turbolinks时如何绑定事件?

时间:2013-09-02 21:33:02

标签: jquery ruby-on-rails turbolinks

如果表单的文本区域为空,我想停止发布表单。我正在使用jQuery和Turbolinks。我必须绑定ajax:beforeSend,但我让它工作:

  $(document).on 'page:load', '.task-form', ->
    $(this).bind 'ajax:beforeSend', ->
      alert "hi"

我在提交表单时看不到任何提醒。知道为什么吗?

我正在通过ajax远程加载表单。

# tasks/new.js.erb
$('.task-form-wrapper').append('<%= j render("form") %>');
$('#task_name').focus();

1 个答案:

答案 0 :(得分:0)

$(document).on 'page:load', '.task-form', ->

page:load元素未触发.task-form事件,它在document上触发。您必须将其更改为:

$(document).on 'page:change', ->
  $('.task-form').on 'ajax:beforeSend', ->
    alert 'hi'

我将page:load更改为page:change,否则仅当第一页请求位于带有表单的视图上时才有效。每次加载新页面时都会触发page:change