jquery - 为什么我必须将整个代码放在 $(function(){/* code gets here */}); 中?

标签 jquery

所以我明白如果我必须放置此代码

$("#MyButton").click(function(){/* code goes here */});

在外部 .js 文件中,我必须引用脚本

<script src="MyScript.js" type="text/javascript"></script>
</body>

在关闭 body 标签之前(而不是在 head 中),否则它将不起作用,因为 DOM 必须在 MyScript.js 之前完全加载

但包括我的整个代码

$(function(){
    $("#MyButton").click(function(){/* code goes here */});
});

尽管我现在将脚本放在 HEAD 中(而不是像之前那样在关闭 body 标记之前),但不知怎的,它仍然可以正常工作!!

怎么会呢?

最佳答案

因为$(f)“当dom准备好时执行函数f”的快捷方式

关于jquery - 为什么我必须将整个代码放在 $(function(){/* code gets here */}); 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7085128/

相关文章:

javascript - Jquery 每个函数在服务器上不工作

javascript - 将标记带到 Highcharts 中的网格线前面

javascript - 将 '' 登录发布主题按钮更改为登录链接按钮

javascript - ajax 请求后我的函数调用无法正常工作,仅在页面刷新后工作

javascript - 将 JQuery 动画转换为 Javascript/CSS3

jquery - 向特定图像添加类

javascript - 基于 jQuery window.width() 的动态边距

javascript - 在 var 函数中覆盖 jQuery 添加的内联样式

javascript - 如何将下拉菜单更改为下拉菜单

javascript - EmberJS 自定义路由操作