2012-03-16 17 views
14

मैं कुछ तृतीय पक्ष पुस्तकालयों का उपयोग करना चाहता हूं जो एम्बर के साथ jquery पर आधारित हैं। इस पुस्तकालय इस प्रकार का तत्व पर घटना बांधता:मेरे दृश्य में jquery घटनाओं को कैसे बाध्य करें

$('#an-id') 
    .bind('anEvent', function (event, params) { ... }) 

मैं अपने एंबर दृश्य में घटना enEvent को पकड़ने और एक एंबर आधारित ईवेंट हैंडलर का उपयोग करते हैं। की तरह कुछ:

App.MyView = Em.View.create({ 

    myEventHandler: function(event,params) { ....} 
}) 

उत्तर

15

एक दृश्य है, जो जब विचारों डोम में जोड़ा गया है लागू हो जाता है पर didInsertElement कॉलबैक का प्रयोग करें। फिर आप this.$() के माध्यम से अतिरिक्त तत्व तक पहुंच सकते हैं।

App.MyView = Em.View.create({ 
    didInsertElement: function() { 
     this.$().bind('anEvent', ...); 
    } 
}); 
​ 
+1

मैं हाल ही में एक ब्लॉग पोस्ट (wycats द्वारा एक पुराने पद से अद्यतन) कि jQuery यूआई के साथ इस और अधिक एकीकरण को शामिल किया गया पोस्ट: http://www.lukemelia.com/blog/archives/2012/03/10/उपयोग-एम्बर-जेएस-साथ-jquery-ui/ –

+0

0.9.6 संस्करण में हमारे पास नया एम्बर.वेन्टेड मिश्रण है जो एक ही काम कर सकता है। – jrabary

+2

मैंने _ $() का उपयोग करने की कोशिश की। बाइंड (... _ लेकिन _this_ आमतौर पर इच्छित ऑब्जेक्ट की तुलना में डोम-एलिमेंट से जुड़ा हुआ है जो आमतौर पर वांछित नहीं है। – JanD

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