[RUBY-ON-RAILS] 단지 다시로드 한 후 작동 자바 스크립트 레일
RUBY-ON-RAILS단지 다시로드 한 후 작동 자바 스크립트 레일
문제는 제목이 말한다 정확히 것입니다. 자바 스크립트는 자산 파이프 라인에 즉 자산 / 자바 스크립트 /를 application.js에서 myfile.js.coffee 내가 가진 :
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require jquery.ui.all
//= requier twitter/bootstrap
//= require jasny-bootstrap
//= require_tree .
이것은 커피 스크립트입니다
$(document).ready ->
$("#close").click ->
$(this).parent().parent().slideUp("slow")
$( "#datepicker" ).datepicker
dateFormat : "yy-mm-dd"
player_count = $("#player option").length
$('#btn-add').click ->
$('#users option:selected').each ->
if player_count >= 8
$('#select-reserve').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>")
$(this).remove()
else
$('#player').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>")
$(this).remove()
player_count++
$('#btn-remove').click ->
$('#player option:selected').each ->
$('#users').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>")
$(this).remove()
player_count--
$('#btn-remove-reserve').click ->
$('#select-reserve option:selected').each ->
$('#users').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>")
$(this).remove()
$("#submit").click ->
$("select option").prop("selected", "selected")
나는 자바 스크립트가로드되었는지 브라우저의 소스 코드를 볼 수 있지만 페이지를 다시로드 한 후에 만 작동합니다.
해결법
-
==============================
1.페이지로드와 turbolink 방문의 모든 시간에 처음이라고로드 이벤트 : turbolinks 5.0 당신은 turbolinks을 사용해야합니다. 추가 정보 : https://github.com/turbolinks/turbolinks#running-javascript-when-a-page-loads
페이지로드와 turbolink 방문의 모든 시간에 처음이라고로드 이벤트 : turbolinks 5.0 당신은 turbolinks을 사용해야합니다. 추가 정보 : https://github.com/turbolinks/turbolinks#running-javascript-when-a-page-loads
커피 스크립트 코드 :
$(document).on 'turbolinks:load', -> my_func()
자바 스크립트 코드 :
document.addEventListener("turbolinks:load", function() { my_func(); })
-
==============================
2.이것은 turbolinks 문제였다. 덕분에 올바른 방향으로 날을 선도하기위한 @zwippie합니다! 이 솔루션은이 내 커피 스크립트를 포장했다 :
이것은 turbolinks 문제였다. 덕분에 올바른 방향으로 날을 선도하기위한 @zwippie합니다! 이 솔루션은이 내 커피 스크립트를 포장했다 :
ready = -> // functions $(document).ready(ready) $(document).on('page:load', ready)
-
==============================
3.나는 이것이 turbolinks 문제입니다 같아요.
나는 이것이 turbolinks 문제입니다 같아요.
사용자의 프로젝트에서 turbolinks을 제거하거나 같은 당신의 스크립트를 수정 :
$(function() { initPage(); }); $(window).bind('page:change', function() { initPage(); }); function initPage() { // Page ready code... }
로 여기에 언급.
-
==============================
4.당신은 자바 스크립트를 변경하지 않고 문제를 해결하기 위해 jquery.turbolinks 보석을 설치할 수 있습니다.
당신은 자바 스크립트를 변경하지 않고 문제를 해결하기 위해 jquery.turbolinks 보석을 설치할 수 있습니다.
-
==============================
5.이 같은 올바른 위치에 당신의 jquery.turbolink 장소를 가질 수 있습니다
이 같은 올바른 위치에 당신의 jquery.turbolink 장소를 가질 수 있습니다
//= require jquery //= require jquery.turbolinks //= require jquery_ujs //= require bootstrap-sprockets //= require turbolinks
그리고 Gemfile에 당신은 설치할 수 있습니다 보석을 JQuery와는-turbolinks
gem 'jquery-turbolinks'
-
==============================
6.5 레일 jquery.turbolinks 보석을 사용하여
5 레일 jquery.turbolinks 보석을 사용하여
$( document ).on('turbolinks:load', function() { // your code }
-
==============================
7.당신이 JQuery와 같은 시계 시간 선택 도구로 플러그인으로 작업하는 경우, 먼저 전체 페이지를 실행하기 전에로드 될 때까지 기다려야 스크립트를 야기 jQuery를 문서 준비 기능을 사용하고 당신은 turbolinks 사용할 수 있습니다로드 이벤트를.
당신이 JQuery와 같은 시계 시간 선택 도구로 플러그인으로 작업하는 경우, 먼저 전체 페이지를 실행하기 전에로드 될 때까지 기다려야 스크립트를 야기 jQuery를 문서 준비 기능을 사용하고 당신은 turbolinks 사용할 수 있습니다로드 이벤트를.
-
==============================
8.나는 레일 5.2을 시도하고 발견 해요 : 처음에게 페이지가로드를로드하기되지 않은 'turbolinks로드'. 이것은 내가 내 커피 스크립트 파일에 할 필요가 것입니다.
나는 레일 5.2을 시도하고 발견 해요 : 처음에게 페이지가로드를로드하기되지 않은 'turbolinks로드'. 이것은 내가 내 커피 스크립트 파일에 할 필요가 것입니다.
document.addEventListener('turbolinks:load', -> # ... CoffeeScript code here ) if !Turbolinks? location.reload Turbolinks.dispatch("turbolinks:load")
from https://stackoverflow.com/questions/17317816/rails-javascript-only-works-after-reload by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 어떻게 레일 URL 헬퍼에 대한 기본 호스트를 설정합니까? (0) | 2020.02.08 |
---|---|
[RUBY-ON-RAILS] 액티브 Arel OR 조건 (0) | 2020.02.08 |
[RUBY-ON-RAILS] AngularJS와 : 숫자 만 텍스트 상자에 입력 할 수 있습니다 (0) | 2020.02.08 |
[RUBY-ON-RAILS] TZInfo :: DataSourceNotFound 오류 Windows에서 레일 v4.1.0 서버 시작 (0) | 2020.02.08 |
[RUBY-ON-RAILS] 어떻게 레일에서 날짜를 확인합니까? (0) | 2020.02.08 |