2009-06-29 3 views
6

私のWebアプリケーションのデバッグ中で、壁に衝突しました。私はGoogle Chromeでの動作しか経験しておらず、javascriptの不適性は私を解決から守っています。IE/Firefoxでイベントの発生をクリックしますが、Chromeがイベントの割り当てを破棄しています

私は<asp:Panel>コントロールを持つASPページを持っています。パネル内で、簡単な検索テキストボックスを設定し、<asp:LinkButton>を使用して検索を開始しました。ユーザーは検索テキストを入力し、Enterキーを押すと(usability sake)、検索結果が表示されます。これはIEでは動作しますが、FireFoxでは動作しません。 documented fixが私のページに適用され、FireFoxを正常に機能させました。ゴールデン。

ただし、修正プログラムはGoogle Chromeでは機能しません。ちょっと怪しいですが、私はコードをデバッグするためにFirebugを起動します...ああ待ってください...それはChromeの単なる問題です。私はFirebugなしでデバッグ用javascriptを処理できます(sob) - 私はChromeデバッガを起動し、コードをステップ実行します。以前に言及したjavascriptの修正がChromeによって削除されていることが判明しました。

修正スクリプトは、ページのロード時に実行され、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を使用していないため、実行可能な解決策ではありません。


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

私はあまりASPの人ではありません。パネルのHTMLを投稿できますか? –

+0

私は同様の問題を抱えています.HTMLAnchorElement(タグ)にアクセスできますが、click()関数はありません。 –

答えて

関連する問題