Rails 应用程序中不显眼的 JS 无法按预期工作
unobtrusive js in rails app not working as expected
>我有一个这样的link_to:
<%= link_to "Load More", comments_feed_path(@post.id), :id => 'my-link', :remote => true %>
这在应用程序.js文件中:
$( document ).ready(function() {
$('#my-link').bind('click', function() {
alert('Hooray!');
//event.preventDefault(); // Prevent link from following its href
});
});
然而什么也没发生。如果我这样做,它会按预期工作,但我宁愿使用不显眼的 js...
<%= link_to "Load More", comments_feed_path(@story.id), :id => 'my-link', :onclick => "test()", :remote => true%>
应用.js:
function test(){
alert('test');
}
关于我错过了什么的任何想法?
似乎是一个常见的涡轮链接问题。Turbolinks是gem,默认情况下包含在rails中,它可以防止页面的公共部分在每个请求上加载。它阻止重新加载的最常见部分是标头,包括所有 javascript 定义。这意味着,您的$(document).ready
回调仅针对应用程序的初始页面执行。
要修复它,您需要将$(document).ready
更改为:
$(document).on('turbolinks:load', function() {
阅读文档:https://github.com/turbolinks/turbolinks
相关文章:
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- JS可以在Chrome中工作,但不能在Firefox中工作
- JS,用于播放提示音以通知未按预期工作
- JS在firefox中无法正常工作
- 为什么不是'我的JS滑块正在工作
- 谷歌地图Api和JS代码不工作
- 从js引擎的角度来看闭包和构造函数是如何工作的
- 当加载几个js文件时,defer属性应该如何工作
- 这和javascript中的闭包(在纸上工作.js)
- 嘶嘶声中的正则表达式如何工作.js
- 第一个现实生活-工作JS脚本.我怎样才能使它更有效率
- 简单事件侦听器不工作-JS
- 为什么不't工作js调试智能
- 字符串模板不工作- js
- 多维数组indexOf不工作js
- 原型“this"不工作(JS)
- 不能让Autobahn的例子工作(js和python)
- 为什么这个选择器不能工作?JS
- 为什么这个脚本不能工作?(JS)
- Spring MVC 和 Bootstrap - css,img 工作.js不工作