Ruby on Rails 4 javascript未执行
Posted
技术标签:
【中文标题】Ruby on Rails 4 javascript未执行【英文标题】:Ruby on Rails 4 javascript not executed 【发布时间】:2014-05-13 17:57:23 【问题描述】:我在app/assets/javascripts
中有一个自定义的js
文件。
这是js文件:
//app/assets/javascripts/contacts.js
//$(document).ready(function() //I've already tried with this method
$(window).load(function()
alert("foo bar")
);
我需要application.js
文件中的contacts.js
文件。
如果我检查 html 页面,我会看到正确加载的 js 文件,但未显示消息。 如果我重新加载页面(按 f5),则消息正确显示。
当页面加载时,javascript 被加载(我可以在浏览器的源 html 代码中看到它)但没有执行。
你能帮帮我吗?
解决方案: Rails 4: how to use $(document).ready() with turbo-links
【问题讨论】:
是的,我正在使用turbo-links
阅读this
Rails 4: how to use $(document).ready() with turbo-links的可能重复
好的。你的链接对我有用。解决了。
在rails 5中,你可以简单地说$(document).on('turbolinks:load', function() ... );
【参考方案1】:
$(document).ready(function() # Not working with turbo-links
From
Turbolinks 覆盖正常的页面加载过程,事件 这依靠不会被解雇。如果您的代码看起来像 这个,你必须改变你的代码来做到这一点:
$(document).on('ready page:load', function ()
// you code here
);
Another question
【讨论】:
【参考方案2】:使用 Turbolinks 版本 5(从 Rails 5 开始),您需要使用:
$(document).on("turbolinks:load", function ()
// YOUR CODE
);
【讨论】:
以上是关于Ruby on Rails 4 javascript未执行的主要内容,如果未能解决你的问题,请参考以下文章
Ruby on Rails - 在 OSX 上使用 Ruby 2.4.4 而不是 rails 5.1.6 的配置问题/异常
思考Ruby On Rails的底层代码(Ruby on Rails 開發秘籍 | Ruby on Rails 快速入門)