मुझे लगता है कि coffeescript उपयोग कर रहा है एक रेल एप्लिकेशन होना है। जब मैं पृष्ठ को रीफ्रेश करता हूं या सीधे यूआरएल का उपयोग कर जाता हूं, तो निम्न कोड काम करता है। जब मैं इस पृष्ठ के माध्यम से एक लिंक पर क्लिक करता हूं और इसे आज़माता हूं, तो यह बिल्कुल काम नहीं करता है। वह क्यों हो सकता है?Coffeescript JQuery केवल काम कर जब पेज ताजा
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()
एक पुनः लोड करने के बाद, मैं तैयार हो जाता हूं और उपयुक्त होने पर क्लिक करता हूं, और यह काम करता है। किसी अन्य पृष्ठ से क्लिक करने के बाद, मुझे कुछ भी नहीं मिलता है।
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
jquery.js?body=1:5375
त्रुटि केवल दिखाता है जब ऊपर कोड काम नहीं कर रहा: मैं भी क्रोम से इस प्रतिवाद चेतावनी है, जो मुझे यकीन है कि क्योंकि यह JQuery के भीतर ही से आ रहा है ठीक करने के लिए नहीं कर रहा हूँ मिलता है। क्या क्रोम इसे अवरुद्ध कर रहा है? मैं jquery-rails (3.0.4)
आप Turbolinks का उपयोग कर रहे हैं? यदि हां, तो डीओएम रीफ्रेश होने पर फॉर्म पर हैंडलर उड़ा दिया जा रहा है। आपको इसे किसी पृष्ठ में लपेटने की आवश्यकता है: पृष्ठ को पुनर्स्थापित करें: लोड प्रकार हैंडलर। – davidfurber
हां मैं हूं। मुझे एहसास नहीं हुआ कि मैं पहले था। उसके लिए धन्यवाद!! – mscriven