2009-06-20 8 views
5

मैं एक नई जावास्क्रिप्ट लाइब्रेरी आज़माकर देखना चाहता हूं। जे Query 1.3's "Live" events का उपयोग करने (और प्यार) होने के बाद, मैं अगली लाइब्रेरी को पसंद करूंगा जिसे मैं इवेंट सिस्टम में इवेंट प्रतिनिधिमंडल बनाने का प्रयास करता हूं। Wikipedia's JS Library Comparison यहां नौकरी पर गिर जाता है।कौन सा जावास्क्रिप्ट पुस्तकालयों में घटना प्रतिनिधिमंडल है?

MooTools is getting it in 2.0 जैसा दिखता है। दूसरों के बारे में क्या?

मैं इस समुदाय विकी बना रहा हूं। कृपया सूची भरने में मेरी मदद करें।

प्रोटोटाइप: कोई

jQuery: 1.3

MooTools के रूप में: 2.0

ExtJS के रूप में: हाँ

उत्तर

2

घटना प्रतिनिधिमंडल आसान है की तुलना में आपको लगता है।

यदि मुझे स्वचालित ईवेंट प्रतिनिधिमंडल के बिना लाइब्रेरी मिलती है, तो मैं बस इसमें एक परत जोड़ता हूं।

+0

ठीक है। फिर कौन से पुस्तकालयों में इवेंट प्रतिनिधिमंडल नहीं है? :-) – Nosredna

2

मैं Prototype में देख रहा हूं। यह SO पर जितनी बार jQuery के रूप में सूचीबद्ध है और मैं इसे अपनी सभी परियोजनाओं के लिए अपनी जेएस लाइब्रेरी के रूप में उपयोग करता हूं।

मुझे विश्वास नहीं है कि इसमें निर्मित प्रतिनिधि हैं लेकिन यह आवश्यकतानुसार प्रतिनिधियों को जोड़ने के लिए सभी आवश्यक कार्यक्षमताओं के साथ एक पूर्ण विशेषीकृत लाइब्रेरी है।

+0

मैं चार्ट में "नहीं" के साथ प्रोटोटाइप सूचीबद्ध करूंगा। – Nosredna

1

यदि आप Jquery का उपयोग करना पसंद करते हैं लेकिन फैंसी कुछ अलग करने की कोशिश करते हैं तो मैं mootools के साथ जाऊंगा, एरन्स इवेंट प्रतिनिधिमंडल प्लगइन के लिंक के साथ-साथ मूल का उपयोग करने के तरीके पर उनके ट्यूटोरियल को आपको जो चाहिए वह आपको देना चाहिए। इस बारे में बहुत सी चर्चा है कि दिन के अंत में जो कुछ भी आप पसंद करते हैं, उसके लिए बेहतर है।

मूटूल उत्कृष्ट है और इसमें कुछ अच्छे प्लगइन हैं, आपको डेविड वॉल्श को भी देखना चाहिए जो बहुत सारे मूतूल देव और कुछ jquery करता है। वह कुछ दिलचस्प सामान पोस्ट करता है। http://davidwalsh.name

+0

मैं 2.0 रोल आउट होने के बाद म्यूटूल को आजमाने की कोशिश कर रहा हूं, जो मुझे लगता है कि जल्द ही है। – Nosredna

1

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

प्रोटोटाइप में लाइब्रेरी के लिए देशी इवेंट प्रतिनिधि चीनी नहीं है जो jQuery के $.fn.live की तरह काम करता है, लेकिन यह एक ऐसा फ़ंक्शन बनाने के लिए काफी सरल है जो घटनाओं को पकड़ता है और अपने लक्षित तत्वों के साथ सामान करता है।

document.observe('click',function(event){alert(event.element().inspect())}) 

आप इस का उपयोग बहुत आसानी से jQuery के लाइव का क्लोन बनाने के लिए कर सकते हैं (मैं नहीं कह रहा हूँ यह अच्छा प्रदर्शन करने या कुछ भी करेंगे)।

live = function(selector,callback){ 
    document.observe("click",function(e){ 
    var element = e.element() 
    if (!element.match(selector)) 
     element = element.ancestors().find(function(elem){return elem.match(selector)}); 
    else 
     element = null 
    if (element) 
     callback.apply(element) 
    }) 
} 

आप इसे पसंद कह सकते हैं:

live("div",function(){this.setStyle({color:'blue'})}) 

मुझे लगता है मैं क्या कह रहा हूँ कि घटना प्रतिनिधिमंडल पहले से ही जावास्क्रिप्ट करने के लिए बनाया जाता है। पुस्तकालयों में सिर्फ चीनी जोड़ें।

+0

मैं एक सूची संकलित कर रहा हूं जिसमें चीनी शामिल है। – Nosredna

+0

सच है। लेकिन, मैंने सोचा कि प्रोटोटाइप में लाइव को पुन: कार्यान्वित करने का प्रयास करना मजेदार होगा यह देखने के लिए कि यह कितना आसान होगा। बाहर निकलता है, बहुत आसान है। वास्तव में – BaroqueBobcat

1

Ext Js हमेशा मुझे विश्वास है।

+0

। एक्स्ट में अपने कई विगेट्स में इवेंट प्रतिनिधिमंडल भी बनाया गया है, उदाहरण के लिए, प्रदर्शन को अधिकतम करने के लिए ड्रैग/ड्रॉप और अन्य ईवेंट-गहन इंटरैक्शन को संभालने के लिए। –

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