2009-06-29 4 views
6

웹 응용 프로그램을 디버깅하는 중이고 벽에 충돌했습니다. Google 크롬에서만 동작이 발생하고 자바의 부적절 함이 나를 솔루션에서 보호하고 있습니다.IE/Firefox에서 이벤트 발생을 클릭했지만 Chrome에서 이벤트 할당을 취소합니다.

컨트롤이 <asp:Panel> 인 ASP 페이지가 있습니다. 패널 내에서 간단한 검색 텍스트 상자를 설정하고 <asp:LinkButton>을 사용하여 검색을 시작했습니다. 사용자가 검색 텍스트를 입력하면 Enter 키를 눌러야 (usability sake) 검색 결과가 표시됩니다. IE에서는 작동하지만 FireFox에서는 작동하지 않습니다. 내 페이지에 적용한 적이있는 documented fix이 있으며 성공적으로 FireFox를 작동 시켰습니다. 골든.

을 제외하고는 Google 크롬에서 수정되지 않았습니다! 조금 비린내 같아, 방화범이 끌려서 코드를 디버깅해라. 오, 기다려라. 크롬 문제 일 뿐이야. 좋아, 잘 파이어 버그없이 디버깅 자바 스크립트를 처리 할 수 ​​있습니다 (sob) - 나는 크롬 디버거를 가동하고 코드를 단계별로 설명합니다. 이전에 언급 한 자바 스크립트 수정이 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을 게시 할 수 있습니까? –

답변

관련 문제