2013-01-26 1 views
-1

여러 페이지가있는 웹 사이트를 방문했습니다. 페이지를 클릭하면 내용이 동적으로로드됩니다. AJAX가 사용되었지만 JavaScript 함수를 호출하지 않고 작동하는 방식을 이해할 수 없었습니다. 코드 조각은 다음과 같습니다.URL을 변경하거나 JavaScript 기능을 호출하지 않고 내용을로드하는 중

<a href="#" class="acted" onclick="return false;">1</a> 

<a href="#" onclick="return false;">2</a> 

<a href="#" onclick="return false;">3</a> 

내가 빠진 것이 있습니까?

답변

0

"소스보기"에서 해당 코드를 얻었습니까? 그렇다면 페이지에 스크립트가 실행되어 페이지가로드되면 동적으로 이벤트 핸들러를 연결하기 때문에 원시 HTML의 onclick 이벤트는 단지 자리 표시 자일 수 있습니다.

예 : 위의 페이지에서

<html> 
<head></head> 
<body> 
    <div id="main">This text is not clickable and has no action when clicked, but try to click me anyway just in case.</div> 
</body> 
<script> 
    window.onload = function() 
      { 
       document.getElementById("main").onclick = function() { 
            return alert('Actually, I am clickable afterall!'); 
           }; 
      }; 
</script> 
</html> 

는, 디폴트 조치를 온 클릭하지 않았다가 "주"라는 DIV있다. 그러나 페이지가로드되면 id가 "main"인 div의 onclick 속성에 함수를 첨부하는 코드를 호출하는 이벤트 (이 경우 window.onload)가 발생합니다. 결과적으로 원시 HTML에 기본 핸들러가 포함되어 있지 않고 "소스보기"를 수행하지 않으면 핸들러를 볼 수 없더라도 메인이 클릭 가능하게됩니다 (브라우저에 개발자 도구가 있으면 볼 수 있음)). 당신이 JSFiddle에 익숙하지 않은 경우, 오른쪽 하단 모서리는 웹 페이지가 렌더링되는 위치, 그래서 거기에 텍스트를 클릭하고 표시되어야합니다 (http://jsfiddle.net/qfazj/2/

:

나는 또한 JS 바이올린이 제공 한 경고가 발생합니다.)

+0

네, 내가보기 소스에서 가져 왔어 .. 좀 더 자세히 설명해 주시겠습니까 .. – Dhatri

+0

예를 들어 보겠습니다. – NYCdotNet

+0

빠른 답장을 보내 주셔서 감사합니다. – Dhatri

0

예, 뭔가 빠졌습니다. 우리는 전체 코드를 보지 않고서는 확실히 알 수 없지만이 페이지는 jquery 선택기를 사용하여 이벤트를 처리 할 가능성이 큽니다. 예를 들어, 코드는 모든 "a"태그가 특정 자바 스크립트 함수를 가져온다는 것을 나타낼 수 있습니다. 또는 클래스 = "행동"등 모든것을 봐 : http://www.w3schools.com/jquery/jquery_ref_selectors.asp

+0

하지만 함수가 호출되지 않으면 click 이벤트에 대해 조치가 취해집니다. jQuery가 올바르게 사용되는 onclick 함수가 있어야합니까? – Dhatri

관련 문제