我有一个在$(document).ready(function() {});
上运行的javascript文件,这个工作正常,直到我导航到网站上的另一个页面,然后返回到原始页面。一旦我返回,jQuery就会停止运行。
我最初通过在特定页面的主体中包含<%= javascript_include_tag "xyz" %>
来修复此问题,但这导致js文件加载两次导致事件在发生时触发两次(通常相互抵消)。
有关如何在不加载js文件两次的情况下修复此错误的任何想法?为了记录,我尝试了其他活动,例如load
pageinit
等。
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require_tree .
//= require bootstrap-sprockets
//= require owl.carousel
//= require moment
//= require bootstrap-datetimepicker
//= require jquery-ui
//= require turbolinks
$(document).ready(function() {
$(".glyphicon-remove").on("click", function(e) {
prevAngle = angle;
angle +=45;
$(this).animateRotate(angle, prevAngle, 1000);
e.preventDefault();
$('.instructions').find('h1').toggleClass('smallfont', 1000);
$(this).parent().toggleClass("btn-sm");
if ( $(".instructions").hasClass("isDown") ) {
$('.instructions').animate({
top: '30%',
width: '50%',
left: '25%'
}, 1000);
} else {
$('.instructions').animate({
top: '94%',
width: '100%',
left: '0',
}, 1000);
}
$(".instructions").toggleClass("isDown");
$('.instructions').toggleClass('instructions-small');
$('.instructions').toggleClass('instructions-min');
});
});
<head>
<title><%= yield(:title) %> | Boston EDM Show Rewards</title>
<%= favicon_link_tag 'favicon.ico' %>
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
<%= csrf_meta_tags %>
</head>
答案 0 :(得分:0)
听起来像Turbolinks问题。删除Turbolinks,或添加jquery-turbolinks gem。不要忘记将jquery.turbolinks
添加到application.js文件中。
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//
// ... your other scripts here ...
//
//= require turbolinks