jQuery में .on() और .trigger() जैसे फ़ंक्शन हैं जो आपको DOM ऑब्जेक्ट्स पर ईवेंट संलग्न करते हैं और फिर उन घटनाओं को मैन्युअल रूप से ट्रिगर करते हैं। इन कार्यों के लिए प्रलेखन विशेष रूप से "तत्वों" पर घटनाओं को संदर्भित करता है, जिन्हें मैं HTML/DOM तत्वों का अर्थ लेता हूं।क्या मैं सादे पुरानी वस्तुओं के साथ jQuery के ईवेंट फ़ंक्शंस का उपयोग कर सकता हूं?
क्या मैं इन कार्यों का उपयोग सादे पुराने जावास्क्रिप्ट ऑब्जेक्ट्स में ईवेंट कार्यक्षमता जोड़ने के लिए भी कर सकता हूं?
var x = {};
$(x).on('bonk', function() { alert('Oif!'); });
$(x).trigger('bonk'); // shows the alert
यह सभी ब्राउज़रों मैं में यह परीक्षण किया है में काम करता है (क्रोम 15, Firefox 7, आईई 9, और ओपेरा 11.52, सभी Windows पर) है, जो होनहार लगता है। लेकिन यह दस्तावेज से स्पष्ट नहीं है कि यह वास्तव में सभी प्लेटफ़ॉर्म पर, सभी ब्राउज़रों में समर्थित परिदृश्य होने के लिए था। शब्दावली ("तत्व") के दस्तावेज़ों की पसंद में बहुत संदेह होता है।
डॉक्स राज्य है कि मैं अपने ही घटना के नाम कर सकते हैं (उदाहरण के लिए, .on() के लिए डॉक पेज एक उदाहरण "अटैच और कस्टम (गैर ब्राउज़र) की घटनाओं को गति प्रदान करने के लिए" है) है। लेकिन फिर भी, यह हमेशा एक डीओएम तत्व को घटना को जोड़ रहा है, न कि एक पुरानी पुरानी वस्तु।
क्या कुछ भी निश्चित रूप से बताता है कि jQuery .on()
और .trigger()
को सादे पुराने जावास्क्रिप्ट ऑब्जेक्ट्स के साथ समर्थन करता है या नहीं?
साफ। मुझे बस इतना कहना है। मुझे जवाब नहीं पता, लेकिन दिलचस्प सवाल के लिए धन्यवाद। –
+1 महान सवाल! – dSquared
मैं का उपयोग किया है गैर डोम के साथ इस दृष्टिकोण एक evented MVC आवेदन के लिए वस्तुओं, और यह क्रॉस-ब्राउज़र (IE8 सहित) काम करने के लिए लग रहा था। लेकिन मुझे लगता है कि बैकअप लेने के लिए प्रलेखन जरूरत नहीं है। – nrabinowitz