我有一個使用coffeescript的rails應用程序。當我刷新頁面或直接使用URL轉到頁面時,以下代碼可以工作。當我點擊一個鏈接到這個頁面並試用它時,它根本不起作用。爲什麼會這樣?Coffeescript JQuery on click only working when page is refreshd
jQuery ->
console.log "Ready."
$('form').on 'click', '.add_fields', (event) ->
console.log "Click."
time = new Date().getTime()
regexp = new RegExp($(this).data('id'), 'g')
$(this).before($(this).data('fields').replace(regexp, time))
event.preventDefault()
重新加載後,我得到就緒並單擊適當時,它的工作原理。在從另一個頁面點擊後,我什麼也沒得到。我也得到鉻這個折舊警告,這我不知道如何解決,因爲它是從內JQuery的本身來:
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
jquery.js?body=1:5375
錯誤只會顯示在上面的代碼無法正常工作。鉻是否阻擋它?我正在使用jquery-rails (3.0.4)
是否使用Turbolinks?如果是這樣,當DOM被刷新時,表單上的處理程序就會被吹走。您需要將其包裝在頁面中:恢復頁面:加載類型處理程序。 – davidfurber
是的,我。我一開始並沒有意識到我的身份。感謝那!! – mscriven