2011-09-02 17 views
5

मैं अपनी जे-क्वेरी वेबसाइट में कस्टम ईवेंट का उपयोग करना चाहता हूं। अब मुझे यकीन नहीं है कि इस घटना से जुड़े सभी तत्वों पर एक कस्टम इवेंट ट्रिगर करने का सबसे अच्छा तरीका कौन सा है।सभी तत्वों पर घटनाओं को कैसे ट्रिगर करें

एक उदाहरण यहाँ और अधिक स्पष्ट हो सकता है: मूल रूप से मैं इस्तेमाल कर सकते हैं

$('#id').trigger('customevent'); 

मैं नहीं चाहता कि ट्रिगर तत्व है करने के लिए घटना से जुड़ी सभी तत्वों को पता है। तो मैं

$('*').trigger('customevent'); 

का उपयोग कर सकता हूं जो उम्मीद करता हूं कि मैं जो चाहता हूं वह कर सकता हूं। लेकिन मुझे डर है कि इस तरह के कुछ प्रदर्शन मुद्दे हैं।

एक और तरीका जिस बारे में मैं सोच रहा था वह कक्षा का उपयोग कर रहा है। घटना से जुड़े सभी तत्व इस कक्षा को अपने आप जोड़ सकते हैं। तब मैं इस वर्ग का चयनकर्ता के रूप में कर सकता हूं। हालांकि, यह सब कामकाज की तरह गंध करता है।

मुझे उम्मीद है कि कोई मेरी समस्या को हल करने का एक सामान्य तरीका जानता है।

+0

बस अपने आप से जवाब मिला: $ .event.trigger ('customevent'); लेकिन मुझे अपने प्रश्न का उत्तर देने की अनुमति नहीं है। संदिग्ध सीमा ... –

+0

मुझे लगता है कि आपको कुछ घंटों का इंतजार करना है .... लेकिन फिर आप अपना जवाब जोड़ सकते हैं। * संपादित करें: * वास्तव में यह एक डुप्लिकेट है। –

+0

[संभवतः सभी श्रोताओं पर ट्रिगर करने वाला jQuery ईवेंट] का डुप्लिकेट [http://stackoverflow.com/questions/6860146/jquery-event-triggering-on-all-listeners) –

उत्तर

7

बस अपने आप से जवाब मिल गया (जो अब है पदावनत, नीचे टिप्पणी देखें):

$.event.trigger('customevent'); 
+1

यह अनियंत्रित और बहिष्कृत है: https://github.com/jquery/jquery/blob/935eb19d87063ec30b717b3d45368d3c73cb591d/jquery-migrate.js#L481 –

+1

यह सुनिश्चित नहीं है कि यह उचित डाउनवोट कारण है क्योंकि तीन साल बाद एक समारोह को हटा दिया गया था पूरी तरह से मान्य –

+1

आपके उत्तर को संपादित करने के लिए धन्यवाद। इससे पहले, यह गलत था (भले ही यह उस समय सही था या नहीं), इस प्रकार डाउनवोट। मैंने डाउनवोट हटा दिया है। –

संबंधित मुद्दे