2014-09-13 2 views
1

레일 4 레이아웃에서 자바 스크립트 이벤트 리스너를 바인딩하는 것에 대한 질문이 있습니다. 기본적으로 나는 적어도 스크립트를 실행하기위한 목적으로 전체 스크립트 (https://gist.github.com/dsulli99/5d8309046e5ec1ae55dd)를 배치하고있다.레일스 레이아웃의 이벤트 리스너?

내 레이아웃의 <body> 태그 안에 전체 스크립트가 배치되어 있으며 응용 프로그램의 모든 단일 페이지에 동일한 레이아웃을 사용하고 있습니다.

내 질문은 이것입니다. 동일한 레이아웃을 사용하여 다른 뷰를 렌더링하기 위해 링크를 클릭하면 실제로 실행되지 않는 것처럼 보입니다.

1) 해당 레이아웃을 사용하는보기가 처음으로 렌더링되거나 2) 실제로 내 broswer에서 '다시로드'를 클릭하는 경우.

이것은 전체 스크립트가 모든 페이지로드와 함께 실행되는 본문의 일부이므로 (링크 -to를 사용하여 생성 된 링크를 클릭하면) 예상됩니다. 레이아웃 자체에 자바 스크립트가 배치되어있는 이유는 누구나 특정 레이아웃을 구현하는 모든 페이지에서로드되지 않는 이유를 말할 수 있습니까? 도와 주셔서 감사합니다. 당신이 그것을 제거하지 않는 한

는 4 Gemfile이 Turbolinks 포함하는 기본 레일을

답변

1

을 주셔서 감사합니다. 그것은 GET 요청을 가로 채고 <body>을 XETR 결과를 GET 요청의 위치로 바꾸는 JS 라이브러리입니다. 이는 첫 번째 페이지 이후에 어떤 페이지에 대해서도 no window.onload event이 있음을 의미합니다.

코드는 window.onload을 사용하지만 절대로 오지 않습니다. page:load도 들으십시오. 터보 링크가로드 된 후 해당 이벤트가 시작됩니다.

+1

당신은 남자입니다. 내가 찾고있는 100 % 답변. – dps