Javascript Rails 4 jquery函数只工作一次,而不是重新加载
在Rails 4.2.5中工作时,我的Javascript Rails 4 jquery函数只工作一次,而不是重新加载,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,在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
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;
})
});
也就是说,当我选择一个属性id时,我想转到同一个URL,加上
”?当前\\u prop \\u id=“
,加上id
这在我第一次登录时起作用。当我走到一条像
http://localhost:3000/foo
,但事实并非如此。打动
页面使它再次工作
然后我将$(document).ready
行更改为
$(文档)。在('page:load'),…
,(根据我读到的内容)
),
但这只是扭转了问题。现在它第一次起作用,但是
不是第二个
将此代码放到静态文件中就可以了
我现在已经在application.js
中定义了这两个函数,这在我看来是错误的
很多级别,但我不知道如何让函数在其中工作
这两种情况都不同。有人有什么建议吗?谢谢。我通常会这样做(咖啡脚本语法): 或javascript:
$(document).ready(function() {
do_on_load();
$(window).bind('page:change', do_on_load);
}
您在哪里加载是包含应该执行的指令的函数。无论如何,这是由turbolinks+jquery引起的,它真的很烦人。更改它们在应用程序中的加载顺序。js也会影响这种行为。我建议重新考虑使用turbolinks…这会给你带来一些麻烦。祝你好运!我在以前使用jquery函数加载我的图像。这是TurboLink加载页面的原因。与页面绑定的某些节点不再存在
我使用了
gem'jquery turbolinks'
来解决我的问题。检查gem,如果它能解决你的问题,试试它。祝你好运,伙计。谢谢turbolinks的提示。不过,我选择了从我的配置中删除它,因为gemjquery turbolinks
似乎没有帮助。我甚至不确定它们的参考来自哪里,除非生成器自动创建了它们。再次感谢。谢谢。我确实重新考虑了TurboLink,或者更确切地说,我第一次考虑了它,并在代码中删除了对它的所有引用。我不记得在我的任何文件中放置了对它的任何引用,所以生成器一定做了。
$(document).ready(function() {
do_on_load();
$(window).bind('page:change', do_on_load);
}