gpt4 book ai didi

javascript - jquery - $(document).ready( 和 $(document).on ('ready page:load' 之间有什么区别

转载 作者:行者123 更新时间:2023-11-28 18:55:58 24 4
gpt4 key购买 nike

我有一个关于 jQuery 的问题。

当我使用时

$(document).ready( function() { alert("!"); } );

此警报消息仅有效一次!在第一页。 (例如索引页)

当我将第一页移动到其他页面时,其他页面永远不会工作。

但是当我使用时

 $(document).on('ready page:load', function() { alert("!"); } );

它总是运作得很好。这两种说法有什么区别?

请告诉我。

最佳答案

$(document).ready(...) 内置于 jQuery 功能中。它在运行传递的函数之前等待 DOM 加载。每次页面加载时只会调用一次。

$(document).on('ready page:load', ...) 是一个自定义监听器,属于 Turbolinks 的一部分图书馆。

Turbolinks 基本上可以防止每次单击链接时重新加载页面,而是使用 JavaScript 将页面 HTML 与服务器为该链接发送的内容交换。

由于 $(document).ready(...) 仅在页面完成加载时触发,并且 Turbolinks 阻止页面重新加载,因此 $(document).ready(.. .) 只会触发一次,而 $(document).on('ready page:load') 将在 Turbolinks 加载新页面时触发。

关于javascript - jquery - $(document).ready( 和 $(document).on ('ready page:load' 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33634699/

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