gpt4 book ai didi

javascript - Rails javascript 仅在重新加载后有效

转载 作者:IT王子 更新时间:2023-10-29 02:58:40 26 4
gpt4 key购买 nike

问题正是标题所说的。 javaScript 在 Assets 管道中,即 assets/javascripts/myfile.js.coffee 在 application.js 中,我有:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require jquery.ui.all
//= requier twitter/bootstrap
//= require jasny-bootstrap
//= require_tree .

这是 CoffeeScript

$(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")

我可以在浏览器的源代码中看到已经加载了 javaScript,但它只有在我重新加载页面后才能工作。

最佳答案

对于 turbolinks 5.0,您必须使用 turbolinks:load 事件,该事件在第一次加载页面和每次访问 turbolink 时调用。更多信息:https://github.com/turbolinks/turbolinks#running-javascript-when-a-page-loads

CoffeeScript 代码:

$(document).on 'turbolinks:load', ->
my_func()

JavaScript 代码:

document.addEventListener("turbolinks:load", function() {
my_func();
})

关于javascript - Rails javascript 仅在重新加载后有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17317816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com