我想将代码用于自动完成。代码为here。
<script>
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
</script>
<div class="demo">
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
</div><!-- End demo -->
<div class="demo-description" style="display: none; ">
<p>The Autocomplete widgets provides suggestions while you type into the field. Here the suggestions are tags for programming languages, give "ja" (for Java or JavaScript) a try.</p>
<p>The datasource is a simple JavaScript array, provided to the widget using the source-option.</p>
</div><!-- End demo-description -->
但是,我无法弄清楚我应该把这段代码放在哪里。在头?身体?
答案 0 :(得分:4)
您可能应该将代码放在正文标记的末尾。
查看Steve Souder's High Performance Web Sites - Evolution of Script Loading
如果您有多个脚本包含且需要说服自己他们将按正确的顺序加载,请查看WebSiteOptimization.com's Article on the Defer Attribute,您可以在其中查看脚本执行的顺序。
答案 1 :(得分:3)
何时将脚本放入HEAD
脚本要执行的时候 调用,或触发事件时, 被放置在功能中。把你的 头部的功能,这个 它们都在一个地方,并且 他们不会干扰页面 内容。
何时将脚本放入BODY
如果你不想要你的脚本 放在一个功能内,或者如果你的 脚本应该写页面内容,它 应该放在身体部分。
所以在你的情况下。您可以将脚本放在body
答案 2 :(得分:2)
将其放入外部文件,然后使用以下命令将该文件与HTML文档链接:
<head>
...
<script type="text/javascript" src="/scripts/my-script.js"></script>
</head>
(如果您使用的是HTML5,则可以跳过type
属性)。
以上方式是最明确和最常见的方式,但有些研究证明它不是最快的方法。您可以将JavaScript放在</body>
元素之前,跳过jQuery.read()
(在这种情况下为$(function() { ... });
,这是一种简短形式)。在这种情况下,你会获得几毫秒(甚至更少),但我只是被迫注意到这一点。
答案 3 :(得分:0)
是的,你应该将它放在body元素中。
答案 4 :(得分:0)
如果可以的话,将它放在<body>
元素的 end ,之后,你已经包含了jQuery,自动完成插件本身,以及任何你依赖的其他图书馆。将脚本放在<body>
的末尾通常(在撰写本文时:-)被认为是最佳实践,因为它允许浏览器在不必担心脚本执行之前进入标记。