1

我对 jQuery 很陌生。我在项目的母版页中引用 jQuery 时遇到了问题(您可以在下面找到我的母版页的一部分)。我想在页面中使用 datepicker,所以我在另一组引用(对于整个项目中的任何其他 jquery)上方添加了一组引用(jQuery ui 和 css),但是当我运行它时,它一直给我“ jQuery 未定义”警报。

有趣的是,如果我将 datepicker 的一组 refs 移到另一组之后(就像下面显示的顺序),它可以正常工作。我不知道它是否与渲染页面时的顺序有关。任何信息,将不胜感激。

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>
        <asp:ContentPlaceHolder ID="TitleContent" runat="server" />
    </title>
    <script type="text/javascript" src="../../Scripts/jquery-1.7.2.min.js"></script>
    <link href="../../Content/Site.css" rel="Stylesheet" type="text/css"/>
    <!--date picker-->
    <script type="text/javascript" src="../../Scripts/jquery-ui-1.8.22.custom.min.js"></script>
    <link href="../../Content/jquery-ui-1.8.22.custom.css" rel="Stylesheet" type="text/css"/>
    <!--date picker-->
</head>
4

2 回答 2

0

是的,JavaScript 是“自上而下”解析的。

所有依赖都需要在依赖引用之前被引用。

于 2012-09-11T16:52:58.293 回答
0

JavaScript 是按照在 DOM 中遇到标签的顺序执行的(默认情况下)script——如果你在加载它的依赖项之前加载了一些具有依赖项的库,你会得到错误(正如你所发现的)

请参阅: http: //www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#attr-script-async

使用这些属性可以选择三种可能的模式。如果存在 async 属性,则脚本将在可用时立即异步执行。如果 async 属性不存在但 defer 属性存在,则在页面完成解析后执行脚本。如果两个属性都不存在,则在用户代理继续解析页面之前立即获取并执行脚本。

强调我的

于 2012-09-11T16:53:30.760 回答