gpt4 book ai didi

除非刷新,否则 JavaScript 不会加载

转载 作者:行者123 更新时间:2023-12-03 06:24:48 25 4
gpt4 key购买 nike

我在 $(document).ready() 中有一些 jquery,但是除非刷新页面,否则此 jquery 代码不会在我的页面上运行。然后它会在每次后续刷新时起作用。为什么会这样?

我只是放入了 javascript 和 html 标签,但我正在 Rails 应用程序中工作,不确定这是否会让事情变得复杂。

最佳答案

根据您的 Turbolinks 版本,您必须使用正确的语法来覆盖文档加载事件。对于 Turbolinks 5:

而不是

$(document). ready(function () {
....
})

使用

var documentready = function(){

}
$(document). on('turbolinks:load', documentready);

刷新时,这将优雅地回退到文档就绪事件。

为什么这是必要的?

Turbolinks 绑定(bind)位置更改(如单击链接)并使用 Ajax 加载部分内容。该文档未加载。此外,它还操纵浏览器的历史记录来记录访问。

因此, Assets 不会在每次访问时加载。快速地。这就是为什么文档就绪不会绑定(bind)到所有事件,除非所有监听器都以正文或文档为目标(例如 $("body").on("click","selector",function()... 而不是 $("selector").on('click', function()...

关于除非刷新,否则 JavaScript 不会加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38704030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com