2013-06-07 9 views
7

पर क्लिक ईवेंट ट्रिगर कैसे करें मैं यह समझने में असमर्थ हूं कि मैन्युअल रूप से DOM ईवेंट कैसे फ़ायर करें। यहाँ, उदाहरण के लिए, एक लीसेन्चा: ली तत्व

Ext.DomQuery.select('#mapRoutesPanel ol li:nth-child('+(index+1)+')')[0].click(); 

यह गूगल क्रोम पर ठीक काम कर रहा है के लिए "क्लिक" ईवेंट को सक्रिय करने के लिए अपने प्रयास है, लेकिन जब मैं एक ही आवेदन में यह देता है के एंड्रॉयड स्थानीय ऐप का निर्माण मुझे

त्रुटि
Uncaught TypeError: Object #<HTMLLIElement> has no method 'click' 
+0

आप का प्रयास किया था http://stackoverflow.com/questions/16145882/extjs-manually-firing-click-event-button-param-is-different-from -माउस क्लिक ? –

उत्तर

-2

मैंने अपने मामले में नीचे दिया था।

नीचे ली के साथ div का नमूना HTML कोड है।

<div class="menu1" id="menu1"> 
    <ul> 
    <li id="students_tab">Students</li> 
    <li id="emps_tab">Employees</li> 
    </ul> 
</div> 

और नीचे तत्व तत्व क्लिक करने के लिए extjs कोड है।

<script type="text/javascript"> 
    Ext.onReady(function(){ 
    var tabs= Ext.query("li", "menu1"); 
    Ext.each(tabs, function(item){ 
     var el = Ext.get(item); 
     el.on("click", function(){ 
      var tabName = this.id.substr(0, this.id.indexOf("_")); 
      alert("U have clicked on "+ tabName + " tab"); 
     }); 
    }); 
    }); 
</script> 
0

सभी स्पर्श डिवाइस ब्राउज़र/ऐप्स क्लिक ईवेंट का समर्थन नहीं करते क्योंकि यह एक माउस ईवेंट है। घटक पर क्लिक हैंडलर को बाध्य करने के लिए आप सेन्चा की सामान्यीकृत ईवेंट सिस्टम का उपयोग क्यों नहीं करते हैं, फिर आप जांच सकते हैं कि < li/> घटक के क्लिक ईवेंट हैंडलर के अंदर क्लिक किया गया था या नहीं।

सेन्चा ने पहले से ही हमारे लिए काम किया है ताकि हम & टैप को उसी तरीके से संभाल सकें, इसलिए इसका लाभ उठाएं।

बीटीडब्ल्यू, मूल तत्व से इवेंट प्रतिनिधिमंडल आम तौर पर अलग-अलग डोम तत्वों के समूह में बाध्यकारी ईवेंट हैंडलर से अधिक प्रदर्शनकारी होता है। यह एक लूप में तत्वों के लिए आपकी बाध्यकारी घटनाओं की तरह दिखता है, यह एक बुरा अभ्यास है। मैं बस इसे भी इंगित करना चाहता था।

यहाँ एक कोड उदाहरण है:

var cmp = Ext.getCmp('someComponentId'); 
cmp.on('click', function(me, event) { 
    if (event.currentTarget.tagName == "LI") { 
     // do something since the <li/> tag was clicked. 
     // event.currentTarget will be the <li/> DOM element, 
     // feel free to do with it as you please :) 
    } 
} 
संबंधित मुद्दे