). 페이지에서 사용자가 크기를 조정할 수 있도록하려는 이미지가 있습니다. 내 application.js에 다음과 같이 코드를 작성하면레일 3 JQuery와 - document.ready없이 Application.js을 사용하는 방법() 나는 레일 3 JqueryUI-1.8.3를 사용하고
<%= javascript_include_tag "application.js" %>
<link class="jsbin" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script>
, 이미지의 크기를 재조정 :
Application.html.erb은 다음과 같습니다
$(document).ready(function(){
$("#img1").resizable({ handles:'n,e,s,w,ne,se,nw,sw' , maxHeight: 300, aspectRatio: true });
}); 이미지가 때로는 (페이지는 이미지를 표시하기 위해 새로 고쳐했다) 제대로 장착되지 않기 때문에
그러나, 위의 코드는 문제가있다. 이는 문서가 준비되었지만 이미지가로드되지 않았기 때문입니다.
$("#img1").load(function() {
$("#img1").resizable({ handles:'n,e,s,w,ne,se,nw,sw' , maxHeight: 300, aspectRatio: true });
});
그러나,이 크기를 조정할 수없는 이미지가 있습니다 (전용 이미지를 표시하지만 크기 조정) :
그래서 나는 새로 고침에 대한 요구를 해결하기 위해 application.js에 다음을 사용하여 생각하지 않습니다. 코드 (http://jsbin.com/iboxoy/40/edit#source),하지만 내 레일 코드에서 JSBin에 작동하는 것 같다. 언제든지 document.ready()를 사용하지 않으면 이미지가 레일즈 Jquery-UJS 코드에서 크기 조절 가능 상태를 유지하지 못합니다.- application.js 파일에 항상 document.ready()가 있어야합니까?
- 왜 (#img) .load()이 경우에 작동하지 않는 이유는 무엇입니까?
- 더 효율적으로 될 다른 해결책이있다.
고마워요!
위 코드와 같이 코드를 사용하면 더 이상 이미지의 크기를 조정할 수 없으므로 document.ready()와 (# img1) .load()를 함께 사용할 수 없습니까? –
Ah , 미안, 나는 지금 그것을 얻는다라고 생각한다.때로는 이미지가 이미 $ (document) .ready가 실행될 때까지로드되고 때로는 아직로드되지 않은 경우가 있습니다. 개정 된 답변보기 - 크기 조정 가능한 비헤이비어를 두 번 바인딩하십시오. – cailinanne
답장과 의견을 보내 주셔서 감사합니다. 아직 Chrome에서 이미지를 가져 오기 위해 처음으로 페이지를 새로 고침해야했습니다 (작동하지 않는 것 같습니다). –