जैसा कि मैं रेल 3 jquery-ujs कोड को देखता हूं, मुझे लगता है कि यह कस्टम जावास्क्रिप्ट ईवेंट (submit.rails, click.rails, आदि) से जुड़ा हुआ है। क्या किसी को पता है कि इन कस्टम '.rails' घटनाओं को परिभाषित किया गया है? मैं बस बेहतर समझने की कोशिश कर रहा हूं कि रेल 3 में यूजेएस सामान कैसे काम करता है, इसलिए मैं इसे अधिक प्रभावी ढंग से उपयोग कर सकता हूं ...रेल 3 कस्टम जावास्क्रिप्ट घटनाओं को परिभाषित किया गया है?
उत्तर
ये namespaced events हैं। उनके लिए कोई परिभाषा नहीं है; click.rails
click
जैसा ही है, लेकिन क्योंकि इसे rails
के साथ नामित किया गया है, तो आप किसी तत्व पर click
ईवेंटों को आमंत्रित किए बिना रेल-विशिष्ट ईवेंट हैंडलर को अनबाइंड या ट्रिगर कर सकते हैं।
उदाहरण के लिए, मान लें कि आपके कुछ तत्व, <div class='foo' data-remote='true'>
है, और rails.js बांधता
$("*[data-remote='true']").bind("click.rails", function() { ... })
अपने कोड में, आप भी है:
$(".foo").click(function() { ... });
अब, रेल आह्वान करने के लिए चाहते हो सकता है उस बिंदु पर रिमोट हैंडलर, लेकिन अगर इसे $(this).click()
कहा जाता है, तो यह आपके कस्टम एक सहित आइटम पर सभी क्लिक हैंडलर का आह्वान करेगा, जो अवांछित व्यवहार उत्पन्न कर सकता है। इसके बजाए, यह $(this).trigger('click.rails')
पर कॉल कर सकता है, और परिभाषित केवल क्लिक हैंडलर ही चलाया जाएगा।
बिल्कुल सही ... यह इंगित करते हुए कि वे नामित घटनाएं स्पष्ट रूप से चीजों को स्पष्ट करने में मदद करती हैं। धन्यवाद क्रिस! – Bryan
ठीक है, लेकिन प्रतीक्षा करें ... तो '* .rails' घटनाएं कहां ट्रिगर हुईं? मैं उन्हें jquery-ujs में नहीं देखता ... – Bryan
वे नियमित घटनाओं के साथ-साथ किसी भी .rails घटनाओं से ट्रिगर होते हैं। यह केवल तभी होता है जब आप केवल ड्रिल हैंडलर के साथ कुछ विशेष करना चाहते हैं (जैसे कि रेल हैंडलर को अनबाइंड करना या नियमित हैंडलर ट्रिगर किए बिना उन्हें ट्रिगर करना) कि नेमस्पेसिंग खेल में आता है। Http://docs.jquery.com/Namespaced_Events देखें –
- 1. जावास्क्रिप्ट - अनकॉट रेफरेंसरर: कुंजियों को परिभाषित नहीं किया गया है
- 2. sqlconnection को परिभाषित नहीं किया गया है
- 3. Enum.values () परिभाषित किया गया है?
- 4. RoR: "रेल/जानकारी/गुण" मार्ग कहां परिभाषित किया गया है?
- 5. संदर्भ त्रुटि: फ़ंक्शन परिभाषित नहीं किया गया है - जावास्क्रिप्ट
- 6. जावास्क्रिप्ट: क्या एक सदस्य परिभाषित किया गया है?
- 7. जावास्क्रिप्ट/यूट्यूब एपीआई - परिवर्तनीय वाईटी परिभाषित नहीं किया गया है
- 8. Magento UploaderJsObject परिभाषित नहीं किया गया है
- 9. getActivity() जहां इसे परिभाषित किया गया है?
- 10. रेल 3 कस्टम अपवाद
- 11. रेल 3 - कस्टम सत्यापन
- 12. ऑन चेंज फ़ंक्शन को परिभाषित नहीं किया गया है
- 13. रेल 3, पेपरक्लिप - कस्टम इंटरपोलेशंस
- 14. फ़ंक्शन परिभाषित किया गया है लेकिन सी
- 15. क्या मैं = 0, ++ परिभाषित किया गया है?
- 16. ईजेएस आंशिक परिभाषित नहीं किया गया है '
- 17. प्लॉट परिभाषित नहीं किया गया है
- 18. glGenBuffers परिभाषित नहीं किया गया है?
- 19. आकार (बूल) परिभाषित किया गया है?
- 20. DEBUG मैक्रो परिभाषित किया गया है?
- 21. AngularJS $ http.post (..) - त्रुटि: $ http को परिभाषित नहीं किया गया है
- 22. ऐस संपादक "परिभाषित परिभाषित नहीं किया गया है"
- 23. रेल 3 जावास्क्रिप्ट
- 24. जावास्क्रिप्ट आंतरिक: घटनाओं को कैसे लागू किया जाता है?
- 25. रेल 3 कस्टम वैधता कहाँ संग्रहित किया जाना चाहिए?
- 26. रेल 3 में कस्टम लॉगर?
- 27. रेल 3 प्रतिक्रिया_with कस्टम टेम्पलेट
- 28. MATLAB: फ़ील्डनाम के आदेश को परिभाषित किया गया है?
- 29. "prefix 'साबुन को परिभाषित नहीं किया गया है" xslt फ़ाइल
- 30. असीमित संदर्भ त्रुटि: Google को परिभाषित नहीं किया गया है
ब्रायन, कृपया अपने संदेशों पर हस्ताक्षर करना बंद करें - यह स्टैक ओवरफ्लो नीतियों का उल्लंघन है। धन्यवाद! – sethvargo
ओह, क्षमा करें! करेंगे (या नहीं और :) :)। मुझे बताने के लिए धन्यवाद। – Bryan