Rails4jquery函数只工作一次,不在重载时工作
Rails 4 jquery function works once, not on reload
在Rails 4.2.5中工作,我的application.js
文件:
$(document).ready(function() {
$("#property_selection #properties").click(function() {
var url = window.location.href
.replace(/'/?$|('?|&)current_prop_id=[^?&]+/g, "")
+ "?current_prop_id="
+ $("#properties option:selected").val();
window.location.href = url;
})
});
也就是说,当我选择一个property_id时,我想转到同一个URL,加上"?current'_prop'_id="
,加上ID。
这在我第一次登录时起作用。当我参观一条像然而,http://localhost:3000/foo
并没有。正在刷新页面使其再次工作。
然后我将$(document).ready
行更改为$(document).on('page:load', ...
,(根据我读到的内容此处(,但这只是扭转了问题。现在它第一次工作,但是而不是第二个。
将这些代码拖放到静态文件中效果很好。
我现在已经在application.js
中定义了这两个,这在很多级别,但我不知道该怎么做才能使函数在其中工作两种情况都不同。有人有什么建议吗?谢谢
我以前使用jquery函数加载图像时遇到了同样的问题。Turbolinks加载页面的原因。您与页面绑定的某些节点已不存在。
我用gem 'jquery-turbolinks'
来解决我的问题。看看这里的宝石,如果它能解决你的问题,试试看。祝你好运,伙计。
我通常会做一些类似(咖啡脚本语法(的事情:
$ ->
do_on_load()
$(window).bind('page:change', do_on_load)
或javascript:
$(document).ready(function() {
do_on_load();
$(window).bind('page:change', do_on_load);
}
其中do_on_load((是包含应该执行的指令的函数。无论如何,这是由涡轮链接+jquery引起的,这真的很烦人。更改它们在应用程序中的加载顺序。js也会影响这种行为。我建议重新考虑使用涡轮链接。。。它会让你头疼。祝你好运
相关文章:
- Jquery FadeIn FadeOut 只工作一次
- jQuery滚动功能只工作一次
- iOS鼠标中心绑定只工作一次
- mongoose.js Model.remove在循环中只能工作一次
- Regex拆分-工作一次
- EventListener只能工作一次
- jQuery animate只在单击时工作一次
- data th JS每页只工作一次
- Jquery选择选项并获取只工作一次的更改值(页面加载时)
- CSS 类在验证时只工作一次
- Chrome扩展程序:浏览器操作单击按钮工作一次
- 单击仅工作一次
- MVC 分部视图中的 JQuery UI 自动完成功能只能工作一次
- Yelp API、OAuth和Angular与JSONP只工作一次
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- evaluatteJavaScript()只工作一次
- orderBy筛选器只能工作一次
- Jquery事件只工作一次
- Javascript切换的内容函数只能工作一次
- 地图,rails 4.2,javascript,鼠标悬停,只工作一次(或两次).然后在重新加载之后