在Rails中,jQuery对象在页面加载后消失,在刷新时重新出现(In Rails, jQuery objects disappear after pageload, reappear on ref

编程入门 行业动态 更新时间:2024-10-21 11:32:05
在Rails中,jQuery对象在页面加载后消失,在刷新时重新出现(In Rails, jQuery objects disappear after pageload, reappear on refresh)

我有一些自定义的jQuery代码创建业务优化机器的前端。

simutronX.js

$(function(){ $("#slider_constraint_a").slider({ orientation: "vertical", range: true, values: [17, 67], slide: function(event, ui) { $("#constraint_a").val(ui.values[0] + " - " + ui.values[1]); } }); $("#constraint_a").val($("#slider_constraint_a").slider("values", 0) + " - " + $("#slider_constraint_a").slider("values", 1)); ... $("#slider_constraint_e").slider({ orientation: "vertical", range: true, values: [17, 67], slide: function(event, ui) { $("#constraint_e").val( ui.values[0] + " - " + ui.values[1] ); } }); $("#constraint_e").val( $("#slider_constraint_e").slider("values", 0) + " - " + $("#slider_constraint_e").slider("values", 1)); });

当页面加载时,约束滑块显示非常简短,然后消失。 刷新时,这些项目重新出现。 我已经按照这里建议的方式安装了jquery-turbolinks gem,并将它添加到我的application.js文件中,然后预编译资产并重新启动服务器。

的application.js

//= require jquery //= require jquery.turbolinks //= require jquery_ujs //= require jquery-ui

这似乎没有帮助。 jquery-turbolinks自述文件中列出了一个类似的问题(例如,双重加载...),但它没有出现我的代码有任何列出的问题。

还有什么建议?

I have some custom jQuery code creating the frontend for a business optimisation machine.

simutronX.js

$(function(){ $("#slider_constraint_a").slider({ orientation: "vertical", range: true, values: [17, 67], slide: function(event, ui) { $("#constraint_a").val(ui.values[0] + " - " + ui.values[1]); } }); $("#constraint_a").val($("#slider_constraint_a").slider("values", 0) + " - " + $("#slider_constraint_a").slider("values", 1)); ... $("#slider_constraint_e").slider({ orientation: "vertical", range: true, values: [17, 67], slide: function(event, ui) { $("#constraint_e").val( ui.values[0] + " - " + ui.values[1] ); } }); $("#constraint_e").val( $("#slider_constraint_e").slider("values", 0) + " - " + $("#slider_constraint_e").slider("values", 1)); });

When the page loads, the constraint sliders appear very briefly, then disappear. On refresh, these items reappear. I have gem installed the jquery-turbolinks gem as suggested here and added it to my application.js file, then precompiled the assets and restarted the server.

application.js

//= require jquery //= require jquery.turbolinks //= require jquery_ujs //= require jquery-ui

This does not seem to have helped. A similar problem is listed in the jquery-turbolinks readme (e.g. double loading...) but it doesn't appear my code has any of the problems listed.

Any further suggestions?

最满意答案

我以前有过这个问题。 解决方案是用jQuery文件中的change操作而不是load操作来包围Jquery代码

$(document).on('page:change', function(){

I had this issue previously. Solution was to surround the Jquery code with a on change action rather than on load action in your js file

$(document).on('page:change', function(){

更多推荐

本文发布于:2023-08-07 09:54:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1463756.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:加载   对象   页面   jQuery   Rails

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!