Kliknij zdarzenia pożaru w IE / Firefox, ale Chrome rezygnuje z przydzielania zdarzeń

Jestem w trakcie debugowania mojej aplikacji internetowej i trafiłem na ścianę. Doświadczam zachowania tylko w Google Chrome, a moja nieudolność javascript powstrzymuje mnie od rozwiązania.

Mam stronę ASP z<asp:Panel> kontrola. W panelu ustawiłem proste pole tekstowe wyszukiwania i używam<asp:LinkButton> aby uruchomić wyszukiwanie. Użytkownik wprowadza swój tekst wyszukiwania i powinien mieć możliwość naciśnięcia klawisza Enter (dlasake użyteczności) i zostaną wyświetlone wyniki wyszukiwania. Działa to w IE, ale nie w FireFox. Tam jestudokumentowana poprawka które zastosowałem na mojej stronie i udało mi się uruchomić FireFox. Złoty.

Poza tym poprawka nie działa w Google Chrome! Trochę podejrzany, odpalam Firebuga, żeby debugował kod ... och, czekaj ... to tylko problem z Chrome. OK, w porządku Mogę obsługiwać debugowanie javascript bez Firebug (szloch) - Odpalam debuger Chrome i przechodzę przez kod. Okazuje się, że wspomniana wcześniej poprawka javascript jest usuwana przez Chrome.

Skrypt naprawy działa na stronie ładowania i modyfikuje procedurę obsługi kliknięć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');
}

I podczas uruchamiania strony w debuggerze chrome wkraczamfunction WebForm_FireDefaultButton() i przejdź do linii:

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

iz jakiegoś powodudefaultButton.click stał się"undefined". Jestem zakłopotany ... Czego mi brakuje?

Ponadto nie używam jQuery i nie jest to realne rozwiązanie.

Powstały kod HTML:

<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> 

questionAnswers(1)

yourAnswerToTheQuestion