2009-06-29 34 views
6

छोड़ रहा है मैं अपने वेब एप्लिकेशन को डीबग करने की प्रक्रिया में हूं और दीवार पर हिट कर रहा हूं। मुझे केवल Google क्रोम में एक व्यवहार का अनुभव हो रहा है और मेरी जावास्क्रिप्ट अक्षमता मुझे समाधान से रोक रही है।आईई/फ़ायरफ़ॉक्स में ईवेंट की आग पर क्लिक करें, लेकिन क्रोम इवेंट असाइनमेंट

मेरे पास <asp:Panel> नियंत्रण वाला एक एएसपी पृष्ठ है। पैनल के भीतर, मैंने एक सरल खोज टेक्स्टबॉक्स स्थापित किया है और खोज लॉन्च करने के लिए <asp:LinkButton> का उपयोग कर रहा हूं। उपयोगकर्ता अपने खोज टेक्स्ट में प्रवेश करता है और एंटर दबा सकता है (usability sake के लिए) और खोज परिणाम प्रदर्शित होंगे। यह आईई में काम करता है, लेकिन फ़ायरफ़ॉक्स में नहीं। एक documented fix है जिसे मैंने अपने पृष्ठ पर लागू किया है और सफलतापूर्वक फ़ायरफ़ॉक्स को काम करने के लिए सफलतापूर्वक प्राप्त कर लिया है। स्वर्ण।

सिवाय इसके कि, Google क्रोम में फिक्स काम नहीं करता है! थोड़ी चंचल, मैं कोड को डीबग करने के लिए फायरबग को आग लगाता हूं ... ओह रुको ... यह क्रोम केवल एक मुद्दा है। ठीक है, ठीक है मैं फायरबग के बिना डीबगिंग जावास्क्रिप्ट को संभाल सकता हूं (sob) - मैं क्रोम डीबगर को आग लगाता हूं और कोड के माध्यम से कदम उठाता हूं। यह पता चला है कि जावास्क्रिप्ट फिक्स, पहले उल्लेख किया गया है, क्रोम द्वारा गिरा दिया जा रहा है।

ठीक स्क्रिप्ट पृष्ठ लोड पर चलाता है और LinkButton के क्लिक हैंडलर को संशोधित करता है:

var defaultButton = document.getElementById('<%= lnkSearch.ClientID %>'); 
if (defaultButton && typeof(defaultButton.click) == 'undefined') { 
    defaultButton.click = function() { 
     alert('function fired'); 
     var result = true; 
     if (defaultButton.click) result = defaultButton.onclick(); 
     if (typeof(result) == 'undefined' || result) { 
      eval(defaultButton.getAttribute('href')); 
     } 
    }; 
    alert(typeof(defaultButton.click) != 'undefined'); 
} 

और जब क्रोम डिबगर में पेज चल रहा function WebForm_FireDefaultButton() में कदम और लाइन के लिए मिलता है:

if (defaultButton && typeof(defaultButton.click) != "undefined") { ... } 

और किसी कारण से defaultButton.click"undefined" बन गया है। मैं फंस गया हूँ ... मुझे क्या याद आ रही है?

इसके अलावा, मैं jQuery का उपयोग नहीं कर रहा हूं और यह एक व्यवहार्य समाधान नहीं है।


एचटीएमएल उत्पादित:

<div id="abc_pnlSearchPanel" language="javascript" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'abc_lnkSearch')"> 
    <div class="searchPanel"> 
     <span class="searchText"> 
      Type in stuff to search: 
     </span> 
     <span style="float: left;"> 
      <input name="abc:txtSearch" type="text" id="abc_txtSearch" style="width:312px;" /> 
     </span> 
     <a onclick="this.blur();" id="abc_lnkSearch" class="ButtonLayout" href="javascript:__doPostBack('abc$lnkSearch','')"><span>Search</span></a> 
     <div style="clear: both"></div> 
    </div> 
</div> 
+0

मैं एएसपी लड़का का अधिक नहीं हूं, क्या आप पैनल के उत्पादन के HTML को पोस्ट कर सकते हैं? –

उत्तर

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