2015-01-22 1 views
1

저는 thymeleaf 및 spring에서 매우 새롭습니다. 사용중인 코드입니다. 이 자바 스크립트는 코드에서 작동하지 않습니다. 누군가가 문제가 될 것이라고 말해 줄 수 있습니까? 잘못된 참조를 사용하는 경우 수정하십시오.동적으로 만들 때 Thymeleaf 파일에서 Javascript가 작동하지 않습니다. 페이지

<script th:inline="javascript"> 
      //<![CDATA[ 
        // Javascript to enable link to tab 
        var hash = document.location.hash; 
        var prefix = "tab_"; 
        if (hash) { 
         $('.nav-tabs a[href=' + hash.replace(prefix, "") + ']').tab('show'); 
        } 

        // Change hash for page-reload 
        $('.nav-tabs a').on('shown', function(e) { 
         window.location.hash = e.target.hash.replace("#", "#" + prefix); 
        }); 
        //]]> 
       </script> 
      <script th:inline="javascript"> 
      //<![CDATA[ 
      $("#example-advanced").treetable({ expandable: true }); 

       // Highlight selected row 
       $("#example-advanced tbody").on("mousedown", "tr", function() { 
       $(".selected").not(this).removeClass("selected"); 
       $(this).toggleClass("selected"); 
       }); 


     //]]> 
      </script> 

정적 페이지에서 작동합니다. 그러나 역동적 일 때 예상대로 작동하지 않습니다. 그것을 둘러싼

+0

예외를 제공해 주시겠습니까? –

답변

0

시도 :

$(document).ready(function(){ /*Place your code here*/ }) 

가장 일반적인 문서가 아직로드 있었다하지 않을 수 있습니다 때 JS를 선언하는 mistake-.

두 번째 옵션은 더 많은 JS 코드가 없으면 스크립트 태그에 defer 속성을 추가하는 것이므로 모든 DOM을로드 한 후에 만 ​​스크립트를 실행하도록 브라우저에 지시합니다.

좀 더 지식이 여기서 찾을 수 있습니다 How exactly does <script defer="defer"> work?

1
Crazeaboutlife, 무엇 exaclty을

작동하지 않습니다?

Thymeleaf 특수 구문을 사용하면 /<![CDATA[ 텍스트가 동적 페이지에서 사라지지 않습니다. 인라인의 포인트는 동적 처리를 위해 특수 구문을 사용할 수 있도록하는 것입니다 : 내 메시지에있는 경우 예를 들어 /*[[...]]*/

:

page.home.header=Page 

그리고 난 다음 코드를

<script th:inline="javascript"> 
    //<![CDATA[ 
    var heder = /*[[${page.home.header}]]*/'Static'; 
    //]]> 
</script> 

다음 주소로 처리됩니다 :

<script th:inline="javascript"> 
    //<![CDATA[ 
    var heder = 'Page'; 
    //]]> 
</script> 

희망 사항을 해결합니다.

관련 문제