> 웹 프론트엔드 > JS 튜토리얼 > Rails 4 및 Turbo-Links에서 jQuery의 `ready` 이벤트 실패를 수정하는 방법은 무엇입니까?

Rails 4 및 Turbo-Links에서 jQuery의 `ready` 이벤트 실패를 수정하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-12 17:38:11
원래의
130명이 탐색했습니다.

How to Fix jQuery's `ready` Event Failure with Rails 4 and Turbo-Links?

터보 링크를 사용하여 Rails 4에서 DOM 이벤트 처리

초기 페이지 로드 후 jQuery의 'Ready' 이벤트가 실행되지 않습니까?

Rails 4 애플리케이션의 경우 자산 파이프라인을 구현하면 JS 조직을 관리해야 할 필요성이 발생합니다. 사용자는 터보 링크로 인해 후속 링크 클릭 시 jQuery의 준비 이벤트가 트리거되지 않는 문제에 직면할 수 있습니다.

터보 링크의 영향 이해

터보 링크는 전체 작업 없이 페이지 전환을 수행하여 탐색을 향상시킵니다. 다시 로드합니다. 후속 링크 클릭은 페이지 콘텐츠만 업데이트하므로 이 최적화는 첫 번째 페이지 로드 후 준비 이벤트가 실행되는 것을 방지합니다.

문제 해결

jQuery 이벤트가 터보 링크와 원활하게 작동하도록 하려면, 다음 접근 방식을 권장합니다:

CoffeeScript 버전

ready = ->
  # Place your CoffeeScript code here
$(document).ready(ready)
$(document).on('page:load', ready)
로그인 후 복사

'page:load' 이벤트 Turbo-Links에 의해 트리거되며 준비된 이벤트에 대한 안정적인 대체 기능을 제공합니다.

JavaScript 버전

var ready;
ready = function() {
  # Insert your JavaScript code here
};
$(document).ready(ready);
$(document).on('page:load', ready);
로그인 후 복사

Rails 5 업데이트

Rails 5, Turbo-Links 5 초기 및 후속 페이지 로드 시 실행되는 Turbolinks:load 이벤트가 포함되어 있습니다. 이는 솔루션을 단순화합니다.

$(document).on('turbolinks:load', function() {
  # Add your JavaScript code here
});
로그인 후 복사

이 접근 방식을 구현하면 jQuery 이벤트가 Turbo-Links를 활용하는 Rails 4 애플리케이션 내에서 예상대로 실행됩니다.

위 내용은 Rails 4 및 Turbo-Links에서 jQuery의 `ready` 이벤트 실패를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿