jQuery Masonry 라이브러리를 내 GWT 프로젝트에 통합하려고합니다. 그러나 GWT에 의해 생성 된 컨테이너 및 요소를 사용하여 라이브러리를 작동하도록 만들 수는 없습니다. 그러나 생성 된 GWT HTML을 HTML 페이지에서 직접 다시 작성하면 작동합니다.JQuery 요소 선택기가 GWT와 작동하지 않음 HTML
이 내 GWT EntryPoint를 어떻게 보이는지 나는 또한 CSS 파일은 다음과 같이 선언
public class Sample implements EntryPoint {
//In here the text has random lengths to achieve different div blocks to work with Masonry
private HTML label1 = new HTML("Text..");
private HTML label2 = new HTML("Text..");
private HTML label3 = new HTML("Text..");
private HTML label4 = new HTML("Text..");
private Image image1 = new Image("images/samsung.jpg");
private AbsolutePanel hPanel = new AbsolutePanel();
public void onModuleLoad() {
DOM.setElementAttribute(hPanel.getElement(), "id", "content");
image1.setSize("230px", "400px");
HTML html = new HTML(image1.toString());
html.setStyleName("item");
hPanel.add(html);
label1.setStyleName("item");
hPanel.add(label1);
label2.setStyleName("item");
hPanel.add(label2);
label3.setStyleName("item");
hPanel.add(label3);
label4.setStyleName("item");
hPanel.add(label4);
RootPanel.get("wrapper").add(hPanel);
}
}
같은 :
#wrapper{
margin: 0 auto;
width: 1000px;
}
.item{
padding: 10px 10px;
width:230px;
float: left;
}
이 다음 HTML 코드를 생성
<div id="wrapper">
<div id="header">
<h1>JQuery, Masonry, GWT, GQuery Test</h1>
</div>
<div style="position: relative; overflow: hidden;" id="content">
<div class="item">
<img src="images/samsung.jpg" class="gwt-Image"
style="width: 230px; height: 400px;">
</div>
<div class="item" style="">
Text
</div>
<div class="item">text</div>
<div class="item" style="">text</div>
<div class="item"><img src="images/samsung.jpg" class="gwt-Image"
style="width: 230px; height: 400px;">
</div>
<div class="item">text</div>
</div>
</div>
을 그리고 마지막으로 내 HTML 페이지에서 다음과 같은 jQuery 호출이 있습니다.
<script type="text/javascript" charset="UTF-8" language="javascript"
src="scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript" charset="UTF-8" language="javascript"
src="scripts/jquery.masonry.js"></script>
<script type="text/javascript" charset="UTF-8">
$(document).ready(function(){
$('#content').masonry();
});
</script>
이 GWT 응용 프로그램을 실행할 때 Masonry 라이브러리가 작동하지 않고 예상 출력을 렌더링하지 않습니다. 그러나 GWT에서 생성 된 HTML을 복사하여 HTML 페이지에 직접 붙여 넣으면 라이브러리가 올바르게 작동하고 예상되는 출력이 렌더링됩니다.
나는 벽돌집 웹 사이트 http://masonry.desandro.com/docs/intro.html에서이 자습서를 따라 갔다. 누군가가 GWT가 HTML을 생성 할 때 왜 작동하지 않는지 이유가 무엇인지 지적 할 수 있습니까?