所以我有点击方法来添加嵌套表单,它完美无缺。
$(document).on 'click', 'form .add_fields', (event) ->
time = new Date().getTime()
regexp = new RegExp($(this).data('id'), 'g')
$(this).before($(this).data('fields').replace(regexp, time))
event.preventDefault()
但onload我需要触发上面的envent一次然后点击它也应该触发事件。所以我添加了下面的代码
$(document).on 'click', 'form .add_fields', (event) ->
time = new Date().getTime()
regexp = new RegExp($(this).data('id'), 'g')
$(this).before($(this).data('fields').replace(regexp, time))
event.preventDefault()
$(document).on 'load', 'form .add_fields', (event) ->
time = new Date().getTime()
regexp = new RegExp($(this).data('id'), 'g')
$(this).before($(this).data('fields').replace(regexp, time))
event.preventDefault()
在上面添加load事件后的事件,它不会触发事件。但是在点击事件仍然有效并且完美地添加嵌套表单。我怎样才能使它发挥作用?
答案 0 :(得分:0)
好的,您的活动不对,需要page:load
,因{turbieinks'而导致load
无法工作。你也在重复自己......让我给你一个更好的实施:
addNewNestedItem = ->
$('form .add_fields').on 'click', (event) ->
time = new Date().getTime()
regexp = new RegExp($(this).data('id'), 'g')
$(this).before($(this).data('fields').replace(regexp, time))
event.preventDefault()
$(document).ready addNewNestedItem
$(document).on 'page:load', addNewNestedItem
以上肯定会奏效,而且写得很好。