如何让这个jquery与Rails 4和TurboLink一起工作?
轨道4.2.2如何让这个jquery与Rails 4和TurboLink一起工作?,jquery,ruby-on-rails,Jquery,Ruby On Rails,轨道4.2.2 gem turbolinks //=需要涡轮链路 我成功地使用了$(document).on('page:change',function(){/})但是这个脚本很难。我不使用jquery turbolinks gem 与我的应用程序中的其他脚本不同,如果我将它放在assets/javascripts文件夹中,它将无法工作。仅当脚本放置在html.erb视图文件中时,它才起作用 只有第一次它才能正常工作。也就是说,我希望它运行,然后再次运行,并分配新的变量值,因为所有变量值在第一
gem turbolinks
//=需要涡轮链路 我成功地使用了
$(document).on('page:change',function(){/})代码>但是这个脚本很难。我不使用jquery turbolinks gem
与我的应用程序中的其他脚本不同,如果我将它放在assets/javascripts
文件夹中,它将无法工作。仅当脚本放置在html.erb
视图文件中时,它才起作用
只有第一次它才能正常工作。也就是说,我希望它运行,然后再次运行,并分配新的变量值,因为所有变量值在第一次运行后都会发生变化。相反,当函数第二次启动时(通过单击var craw=$('.glyphicon chevron right').last()
),它的行为就像是第一次单击一样,再次添加相同的页面并再次打开相同的模式,因为变量值尚未更新
$(document).on('page:change', function () {
var xyz = $('.nextinst').last().attr('href')
var mod = $('.modal'+xzy)
var turn = $('.pagination .next_page a').attr('href')
var craw = $('.glyphicon-chevron-right').last()
$(craw).on('click', function() {
if (!$(mod).size() > 0) {
$.getScript(turn);
}
setTimeout (function() {
$(xyz).modal()
}, 1000);
});
});
事实证明,问题出在java脚本本身,与TurboLink无关。$(document).on('page:change',function(){/})代码>使用旧版本的Turbolink或$(文档)。在('Turbolink:load',function)
上使用新版本是让jquery脚本与Turbolink一起运行的方法 查看Rails/Turbolinks版本的可能副本?@ArtOfCode我目前使用的是Rails 4.2.2
和gem'Turbolinks'=2.3.0
@inye$(文档)。on('page:change',function(){/})
是$(document).ready()问题的解决方案。我已使用$(文档)升级到gem turbolinks=5.0
。在('turbolinks:load',function)
上,但脚本仍无法正确运行。有没有办法强制脚本在重新启动之前重新加载变量?