gpt4 book ai didi

javascript - jQuery 代码未使用 $(function(){...}); 运行;但没有它也会运行

转载 作者:行者123 更新时间:2023-11-28 17:10:42 26 4
gpt4 key购买 nike

我对 jQuery 很陌生,但从我读到的内容来看,这对我来说没有意义。这是我的代码:

$(function() {
function grid() {
$("#main").hide();
}
});

<html>

<head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script src="numbers.js"></script>
</head>

<body>
<div id="main" style="height:90vh; width: 90vw; background-color:lightgray">
<button onclick="grid()">grid</button>
</div>
</body>

</html>

当我将$(function(){...});放在我的代码周围时,它永远不会运行并且控制台返回ReferenceError:网格未定义,但如果我删除 $(function(){...}); 那么一切都会正常运行。

最佳答案

$(function() { }) 中的代码有其自己的作用域,因此当您在其中定义函数时,该函数仅存在于该作用域内。但是,您有:

<button onclick="grid()">grid</button>

它在全局范围(不存在该函数的地方)查找名为“grid”的函数。

理想情况下,如果您使用 jQuery,您会执行类似以下操作:

<button id="grid">grid</button>

$(function(){
$('#grid').on('click', function() {
$("#main").hide();
});
});

关于javascript - jQuery 代码未使用 $(function(){...}); 运行;但没有它也会运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54506345/

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