Rails 4에서는 JavaScript 파일을 별도의 엔터티로 구성하고 컴파일하는 것이 일반적입니다. 자산 파이프라인을 사용합니다. 그러나 터보 링크가 활성화된 경우 jQuery의 "ready" 이벤트를 사용하면 문제가 발생할 수 있습니다. 터보 링크는 전체 페이지 다시 로드를 방지하므로 후속 페이지 클릭 시 "준비" 기능 내에서 코드 실행이 방지됩니다.
해결책:
jQuery가 제대로 작동하는지 확인하려면 터보 링크가 있는 이벤트에서는 다음을 활용하세요. Approach:
CoffeeScript:
ready = -> ...your coffeescript goes here... $(document).ready(ready) $(document).on('page:load', ready)
여기서 추가 라인은 다음에 의해 트리거되는 'page:load' 이벤트를 수신합니다. 터보 링크.
JavaScript:
var ready; ready = function() { ...your javascript goes here... }; $(document).ready(ready); $(document).on('page:load', ready);
Rails 5의 대안(Turbolinks 5):
Rails 5 두 가지 모두에서 실행되는 새로운 이벤트 'turbolinks:load'를 소개합니다. 초기 및 후속 페이지 로드. 이를 통해 솔루션을 단순화할 수 있습니다.
$(document).on('turbolinks:load', function() { ...your javascript goes here... });
이 접근 방식을 사용하면 터보 링크가 활성화될 때 jQuery 이벤트가 예상대로 실행되어 Rails 4 애플리케이션에서 JavaScript 기능이 원활하게 작동할 수 있습니다.
위 내용은 레일 4와 5에서 터보 링크와 함께 $(document).ready()를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!