javascript没有'除非刷新,否则无法加载
javascript doesn't load unless I refresh
我在$(document).ready()
中有一些jquery,但除非刷新页面,否则这个jquery代码不会在我的页面上运行。然后,它在以后的每次刷新中都起作用。为什么会出现这种情况?
我只是添加了javascript和html标签,但我在rails应用程序中工作,不确定这是否会使事情复杂化。
根据您的涡轮链接版本,您必须使用正确的语法来覆盖文档加载事件。对于涡轮连杆5:
而不是
$(document). ready(function () {
....
})
使用
var documentready = function(){
}
$(document). on('turbolinks:load', documentready);
刷新时,这将优雅地回退到文档就绪事件。
为什么这是必要的?
Turbolinks绑定位置更改(如单击链接)并使用Ajax加载部分。文档未加载。此外,它还操纵浏览器的历史记录来记录访问。
因此,资产不会在每次访问时加载。快速的这就是为什么document-ready不会绑定到所有事件,除非所有侦听器都以body或document为目标(例如$("body").on("click","selector",function()...
而不是$("selector").on('click', function()...
出现此问题的原因是旧版本的涡轮链接中的一些关键事件与新的涡轮链接5不兼容。
我建议下载gem jquery-turbolinks
,确保需要application.js
//= require jquery
//= require jquery.turbolinks
......
和兼容性脚本。你可以在这里找到脚本,只需在assets/javascripts
下创建一个compatibility.coffee
这将允许您使用旧语法。$(document).ready...
相关文章:
- 单击即显示内容而不重新加载/刷新页面
- 在页面加载/刷新时在后台运行扩展
- vue.js使用定时器自动重新加载/刷新数据
- 在浏览器上显示之前,在后台预加载/刷新页面
- Firefox DevTools:选项卡和如何在页面重新加载/刷新后保持调试器文件打开?(停止自动关闭)
- 如何使命令按钮不重新加载/刷新页面
- 更改查询字符串而不重新加载/刷新
- 以 JSON 格式重新加载/刷新页面
- 使页面元素在重新加载/刷新后保持可见
- 使用 AJAX 调用重新加载/刷新 PHP 脚本
- 如何在通过Javascript连接到facebook API时重新加载/刷新类似facebook的按钮
- 使用Javascript加载刷新图像
- Javascript只有在重新加载/刷新后才能工作
- 在通过函数将数字转换为日期并加载刷新更多数据中
- 加载刷新页面后执行Javascript代码
- 随机HTML5背景视频页面加载/刷新
- 我的chrome扩展将不会加载,直到我重新加载/刷新相同的YouTube视频页面再次
- 我如何使一个html页面可打印而无需重新加载/刷新数据
- 脚本加载随机页面的页面加载/刷新
- 在页面加载/刷新时设置容器的默认内容,然后在单击事件触发后更改