2015-01-12 12 views
1

여기에 하나의 문제가 있습니다. 내 응용 프로그램에서 부트 스트랩 CSS와 gwt를 사용하고 있습니다. 내 uibinder 페이지에서 gwt 텍스트 상자를 사용하고 아래와 같이 스타일 ("날짜")을 적용하고 있습니다.자바 스크립트가 DOM에 연결되어 있지 않습니다.

<g:TextBox styleName="span11 date"></g:TextBox> 

또한 bootstrap-datepicker.js 및 관련 부트 스트랩 css 파일이 첨부되었습니다. html을로드 할 때 아래 스크립트를 실행하고 있습니다.

$(document).ready(function() { 
    $('.date').datepicker({ 
     format: 'm/d/yyyy', 
     showWeek: true, 
     startDate: 'today', 
     autoclose: true, 
     }); 
}); 

여전히 부트 스트랩 datepicker 팝업에는 gwt 텍스트 상자의 포커스가 표시되지 않습니다.

또한 js 파일을 삽입하고 JSNI 접근 방식을 사용하여 다른 방법을 시도했습니다. 아직이 일을하지 않았다

..

또한

, 내가 브라우저 콘솔 (사용 F12)를 열고, 자바 스크립트 코드 조각 위에 붙여 넣을 때, 그것은 잘 작동합니다.

설정/구성이 필요합니까?

GWT가 자바 스크립트 실행을 차단하고 있습니까 ???

모든 의견을 보내 주시면 감사하겠습니다.

감사

답변

1

당신이 당신의 GWT 응용 프로그램에서 부트 스트랩을 사용하려는 경우, 난 강력하게 gwtbootstrap3 또는 gwt-bootstrap 같은 기존의 라이브러리를 사용하는 것이 좋습니다 것입니다.

여기의 문제는 아마도 TextBox이 DOM에 추가되지 않았기 때문일 수 있습니다. 모든 스크립트가로드되었을 수도 있지만 전체 뷰가 GWT에 의해 빌드되었음을 의미하지는 않습니다 (해당 함수에서 지연을 추가하여 올바른지 확인하십시오). 호스트 페이지에서 TextBoxdatepicker으로 변환 할 메서드를 호출 할 수있는 "콜백"메서드 (보기를 사용할 수있을 때 호출 됨)를 추가 할 수 있습니다. 그러나 이것이 응용 프로그램의 유일한 위젯이 아니라면 부트 스트랩에서 사용하고 있는데, 부트 스트랩의 위젯을 좀 더 GWT 방식으로 가져 오는 적절한 라이브러리를 사용하는 것이 좋습니다.

0

하면 포함되어 있는지 확인하여

<script src=".nocache.js"></script> 

<script src="bootstrap.min.js"></script>