gpt4 book ai didi

javascript - $(document).ready 中的函数是否在全局范围内可用

转载 作者:行者123 更新时间:2023-11-30 08:33:33 26 4
gpt4 key购买 nike

如果我有这样的代码:

   jQuery(document).ready(function() {
jQuery('body').on('mouseup', '.some-div', function(e){

});
});

是否可以在 (document).ready() 之外触发 mouseup 事件与

jQuery('.some-div').mouseup();

或者我应该写这段代码

jQuery('body').on('mouseup', '.some-div', function(e){
});

作为 (document).ready() 之外的函数?

最佳答案

我认为依赖关系不如整个文件的加载顺序那么重要。 $(document).ready 确保 jQuery 等待执行主函数直到

the page Document Object Model (DOM) is ready for JavaScript code to execute.

此就绪 block 之外的代码可能(尝试)在页面实际准备就绪之前运行。例如,假设这是 head 中的代码你的页面:

<script>
jQuery(document).ready(function() {
jQuery('body').on('mouseup', '.some-div', function(e){

});
});
jQuery('.some-div').mouseup();
</script>

就绪 block 将等待,如上所述,但是 mouseup触发器将尝试触发,但它不能。 DOM 尚未准备好,这意味着 .some-div尚未找到 - 因此无法激活触发器。

为了提高 DOM 准备就绪的机会,您可以尝试在关闭前加载 jQuery </body>标签。就绪 block 可以留在 head 中,但是触发器应该移动到文档的末尾以提高 DOM 准备就绪的可能性(通常应该在那个阶段)。有关放置位置的有趣阅读 script标签,另见 this highly popular post .

关于javascript - $(document).ready 中的函数是否在全局范围内可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34462126/

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