2012-09-27 19 views
6

पर ईवेंट पर क्लिक करने के लिए सुनना ऐसा लगता है कि मुझे यहां कुछ बेवकूफ याद आ रही है, लेकिन सूचीदृश्य पर क्लिक ईवेंट सुनने के लिए अनुशंसित विधि क्या है?ListView

फिलहाल मुझे मिल गया है:

WinJS.Utilities.query(".menuHolder").listen("click", linkClickHandler, false); 

और मेरे सूचीदृश्य टेम्पलेट यह आइटम है के लिए वर्ग 'menuHolder' का उपयोग करता है:

  <div id="menuTemplate" 
      data-win-control="WinJS.Binding.Template"> 
      <div class="menuHolder"> 
       <!-- menu img --> 
       <img src="#" data-win-bind="src : pic; alt : title" /> 

       <div class="menuText"> 
        <!-- menu text --> 
        <h1 data-win-bind="innerText : title"></h1> 
        <!-- menu desc --> 
        <h4 data-win-bind="innerText : description"></h4> 
       </div> 
      </div> 
     </div> 

मैं अपने ब्रेकप्वाइंट हिट करने के लिए नहीं है, मेरे लिंक हैंडलर में, या इसके फ़ंक्शन का आह्वान करें। कोई विचार?

संपादित करें:

सवाल पर एक अनुवर्ती के रूप में (मन आइटम लागू घटना में असर) किसी को भी सिफारिश की दृष्टिकोण के बारे में पता सूचीदृश्य और iteminvoked घटना के बीच डेटा पास करने के, मैं उपयोग करना चाहता था कहते हैं यदि है WinJS.Navigator कक्षा एक आवेदन के चारों ओर स्थानांतरित करने के लिए? मुझे लगता है कि मुझे eventInfo के कुछ हिस्सों को उपयुक्त ऑब्जेक्ट में डालने और जानकारी पुनर्प्राप्त करने की आवश्यकता है, किस भाग?

उत्तर

6

डेटा आप "पारित" करना चाहते हैं मान लिया जाये कि डेटा है कि आइटम है कि लागू किया गया था करने के लिए बाध्य किया जाता है, आप कर सकते हैं कि घटना तर्क iteminvoked घटना के लिए पारित कर रहे हैं में। मेरे एक इस तरह दिखता है ...

demosLV.oniteminvoked = function(e) { 
    e.detail.itemPromise.then(function(item) { 
     var location = format("/pages/{0}/{0}.html", item.data.key); 
     WinJS.Navigation.navigate(location, item.data); 
    }); 
}; 

तो demosLV ListView है। मैं एक समारोह में oniteminvoked सेट कर रहा हूँ। घटना के तर्क के रूप में वह कार्य "ई" प्राप्त करता है। फ़ंक्शन में मैं e.detail.item समझौता करता हूं और इसे बंद कर देता हूं। फिर मैं item.data का उपयोग कर .hen में वास्तविक डेटा तक पहुंचता हूं। आशा है कि आपका मतलब क्या है। बीटीडब्लू, प्रारूप समारोह मेरा एक है यदि आप सोच रहे हैं कि यह आपके लिए क्यों काम नहीं करता है।

+0

आह शानदार, यह विस्तार था। साइटम उन चीज़ों का समझौता पक्ष था जो मैंने गायब थे, पहले ही हाइपरलिंक्स से href संपत्ति का उपयोग किया था, इसलिए यह सुनिश्चित नहीं था कि डेटा कैसे प्राप्त किया जाए। धन्यवाद। – dougajmcdonald

4

लगता है कि मैं एक सॉसेज था, मुझे माता-पिता सूचीदृश्य आईडी संदर्भ पर 'iteminvoked' घटना सुनने के लिए आवश्यक था, न कि बच्चे के स्तर पर।

WinJS.Utilities.query("#menu").listen("iteminvoked", linkClickHandler, false);