2012-10-05 6 views
0

이것은 내 XHTML 페이지의 코드입니다. jQuery는 내 응용 프로그램의 /js/ 폴더에 있습니다. 다른 모든 페이지의 유효성 검사는 동일한 파일을 사용하는 jQuery로 수행되지만, 만든이 테스트 페이지에서 간단한 jQuery 코드를 실행할 수 없습니다.jQuery가 XHTML 페이지에서 작동하지 않습니다.

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html"> 
    <h:head> 
     <title>Facelet Title</title> 

    </h:head> 
    <h:body> 
     <script type="text/javascript" src="js/jquery.js"></script> 

     <script> 

      $(document).ready(function() { 
       $("p").text("The DOM is now loaded and can be manipulated."); 
      }); 

     </script> 
     <br/><br/><br/> 
     <p>Not loaded yet.</p> 
     <input id="pedram" type="text" onclick="alert('hi');"/> 
    </h:body> 
</html> 

나는 또한 CDATA 태그를 사용하는 것을 시도했다 :이 페이지의 코드입니다. 또한 스크립트를 문서의 머리 부분으로 옮겼습니다.

제대로 작동하는 유일한 것은 onclick 이벤트에 넣은 alert()입니다. 다른 것은 효과가 없습니다.

내가 뭘 잘못하고 있는지 말해주십시오.

답변

8

변화

<script src="js/jquery.js"> 
     $(document).ready(function() { 
      $("p").text("The DOM is now loaded and can be manipulated."); 
     }); 
</script> 

<script> 
     $(document).ready(function() { 
      $("p").text("The DOM is now loaded and can be manipulated."); 
     }); 
</script> 

에 당신은 .. 두 번 jQuery를 소스를 지정할 필요가 없습니다 없으며 당신이 태그 내부에 JS를 사용하는

+0

행운을! 그것을 시도했다. – Disasterkid

+1

콘솔을 확인하십시오. jQuery가로드되고 있습니까? $는 함수가 아니라고 말하는 것입니까? –

+0

경고가 작동하면 jquery 라이브러리가 올바르게로드되었다고 가정 할 수 있습니까? 하지만 왜 다른 것들이 작동하지 않습니까? – Disasterkid

0

내가해야합니까 내 응용 프로그램 (java)의 컨텍스트 경로를 사용하고 jquery 라이브러리 주소에 추가해야했습니다.

<script type="text/javascript" src="#{facesContext.externalContext.requestContextPath}/js/jquery.js"></script> 
0

문제는 <h:body>을 jQuery 1.x와 함께 사용하는 것으로 보입니다.

jQuery 2.x 또는 <body>을 사용하면 문제가 해결됩니다.

document.body을 사용하는 경우 jquery 1.x가 <h:body>을 사용할 때 document.body이 null이므로 null이 될 수 있습니다.


당신이 왜이 시간 네임 스페이스 (http://java.sun.com/jsf/html)를 사용하고, 내 물어 신경 쓰지 않는 경우

?

관련 문제