2015-02-26 8 views
12

मैं एक ऐसा कार्यक्रम कैसे बना सकता हूं जो किसी भी पेज पर चल सके?उल्का वैश्विक घटना कैसे बनाएं?

मुख्य लेआउट टेम्पलेट पर एक सहायक बनाने के दौरान यह काम नहीं करता है।

Template.layout.events 
    'click': -> 
    console.log "you clicked on the site" 

उत्तर

15

आपको लगता है कि <body>

डॉक्स में कुछ भी पर लागू होगी किसी टेम्पलेट के लिए ईवेंट बनाने के लिए Template.body.eventsTemplate.layout.events के बजाय का उपयोग कर सकते हैं: http://docs.meteor.com/#/full/template_body

+1

किसी भी पाठकों के लिए, ध्यान दें कि 'Template.layout.events' ने' Template.body.events' के दौरान मेरे लिए काम किया था, इसलिए आपका माइलेज भिन्न हो सकता है। – Godsmith

+2

यह उत्तर गलत है। चेकआउट मेरा एक – Dude

+0

यह उत्तर है wong –

5

आप एक विशेष पैकेज की जरूरत है एक वैश्विक घटना बनाने के लिए।

स्थापित

meteor add gwendall:body-events 

और आप हर टेम्पलेट में Template.body.events से घटनाओं का उपयोग कर सकते

उदाहरण

Template.body.events({ 
    'click .myClass':function(){ 
     alert("BODY EVENT"); 
    } 
}); 

या आप नए वाक्य रचना की तरह अगर

Template.body.events({ 
    'click .myClass'(){ 
     alert("BODY EVENT"); 
    } 
}); 
+0

यह ध्यान दिया जाना चाहिए कि उपरोक्त पैकेज केवल आयरन-राउटर का उपयोग करने के लिए आवश्यक है, क्योंकि यह 'ब्रेक' या मेटर के डिफ़ॉल्ट प्रतिपादन को ' पर ओवरराइड करता है 'तत्व। – robertdavid

+0

पुष्टि की यह फ़्लो-राउटर के साथ एक ही मामला है। – robertdavid

+0

मेरे लिए काम किया :) – janjackson

2

न तो जवाब वर्तमान में 'गलत' दर असल, वे सिर्फ विभिन्न स्थितियों में काम करते हैं:

घटना नक्शे, Template.body.events({}), Template.body do not get applied to elements added to the body via Blaze.render पर, आयरन-रूटर, फ्लो-रूटर jQuery, या डोम एपीआई, या शरीर के लिए तत्व स्वयं आप आप ऊपर का उपयोग कर रहे हैं, तो पैकेज body-events जोड़ने की आवश्यकता होगी नीचे आदेश का उपयोग कर शरीर पर घटना नक्शा उपयोग करने में सक्षम होने के लिए:

meteor add gwendall:body-events

आप ऊपर टेम्पलेट प्रतिपादन संकुल में से किसी का उपयोग नहीं कर रहे हैं, तो तो आप नीचे दिए गए कोड का उपयोग कर सीधे बॉडी इवेंट मैप में जोड़ सकते हैं:

Template.body.events({ 
    'click': function() { 
    alert("clicked on the page. oh yeah!"); 
    } 
}); 

एनबी। ऐसा लगता है कि ब्लेज़ allows directly adding event maps to body

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