JQuery 你确定吗 + Rails Nav 被忽略

诺斯鲁普

我有一个 Rails 应用程序,想onunload在离开更改之前模拟提示效果。在环顾四周时,我发现你确定吗?.

我在表单上实现了它,它适用于页面刷新,但它不适用于离开页面的链接。我认为这是turbolink基于所以我尝试$('body').attr("data-no-turbolink", "true");ready语句中运行,但是我得到了相同的效果。

由于这是特定于 Rails 的,我不确定如何通过 Fiddle 真正模拟它。

我已经尝试form在表单的 id 和 id 上全局运行它,并且都给出了上述结果。$('form').areYouSure();

这是一个 turbolinks 问题,还是一个已知问题(我在 Git 问题中找不到)关于beforeunload

法布里齐奥·贝尔托利奥

我也相信这是 turbolinks 的问题。Turbolinks 5不是更兼容gem 'jquery-turbolinks', '~> 2.1',这将解决这个问题jquery libraries

关于这个的讨论https://github.com/kossnocorp/jquery.turbolinks/issues/56

原因是事件名称已更改,因此 gem 不再工作。

https://github.com/codedance/jquery.AreYouSure/blob/master/jquery.are-you-sure.js

如果你检查jquery.are-you-sure.js你可以看到它里面的函数被包裹在一个$(document).ready()语句中,(function($) { })(jQuery);

https://github.com/codedance/jquery.AreYouSure/blob/master/jquery.are-you-sure.js

您可以通过禁用特定链接上的 turbolinks 来测试这一点

https://github.com/turbolinks/turbolinks#disabling-turbolinks-on-specific-links

如果你有Turbolinks < 5你可以通过安装一个名为 的 gem 来解决这个问题gem 'jquery-turbolinks', '~> 2.1',否则你需要了解为什么 jquery 代码没有在页面更改时执行......你需要更改该$(document).ready()语句或(function($) { })(jQuery);语句$(document).on("turbolinks:load", function() {});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章