2011-01-10 26 views
6

Me gustaría utilizar el código para la autocompletar. El código es here.¿Dónde debería poner mi código JavaScript?

<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 --> 

Sin embargo, no puedo averiguar donde debería poner este código. ¿En cabeza? ¿En cuerpo?

Respuesta

0

Sí, debe ponerlo dentro del elemento del cuerpo.

0

Si puede, lo puso en la parte final del elemento <body>, después de haber incluido jQuery, el propio plugin autocompletar, y cualquier otra biblioteca de los que depende. Por lo general, escribir guiones al final de <body> (al momento de escribir esto :-) se considera una mejor práctica porque permite que el navegador llegue al marcado antes de tener que preocuparse por la ejecución del script.

3

Según w3schools

Al poner la escritura en la cabeza de

secuencias de comandos para ser ejecutada cuando están llamada, o cuando se activa un evento, se colocan en funciones. Ponga sus funciones en la sección principal, esta forma en que están todas en un solo lugar, y no interfieren con el contenido de la página .

cuándo poner la escritura en el cuerpo

Si no desea que su script sea colocado dentro de una función, o si la secuencia de comandos debe escribir contenido de la página, que debe ser colocado en la sección del cuerpo.

En su caso. Se puede poner el script en el body

+4

Solo una pista: el uso de w3schools como referencia por aquí provocará muchas burlas y burlas. No es una fuente de información autorizada; es solo un sitio web al azar con información de calidad variable. En particular, este consejo es simplemente extraño y no muy completo o incluso preciso. – Pointy

+0

Ok. Entonces, ¿dónde sugiere que busque la información correcta? http://www.w3.org/TR/html4/interact/scripts.html no especifica las mejores prácticas por lo que puedo ver. –

+0

Probablemente este no sea el tipo de cosas que aparecerían en una especificación real. Se trata de hacer un seguimiento de los buenos blogs y de leer buenas respuestas en sitios como Stackoverflow: el rendimiento de JavaScript (y la optimización del cliente en general) es un tema candente últimamente y las opiniones sobre las "mejores prácticas" evolucionan rápidamente. – Pointy

2

Póngalo en un archivo externo y luego vincular ese archivo con el documento HTML usando:

<head> 
    ... 
    <script type="text/javascript" src="/scripts/my-script.js"></script> 
</head> 

(si está usando HTML5 se pueden saltar type atributo).

La manera anterior es la más clara y común, sin embargo, algunas investigaciones demuestran que no es la manera más rápida. Puede poner ese JavaScript justo antes del elemento </body>, omitiendo jQuery.read() ($(function() { ... }); en este caso, que es una forma abreviada de eso). Ganarás algunos milisegundos (o incluso menos) en ese caso, pero me siento obligado a notarlo.

+2

A John Resig no le gusta esa forma, y ​​tendría cuidado porque lee algunas de estas publicaciones – qwertymk

4

Probablemente deberías poner tu código justo al final de la etiqueta del cuerpo.

Salida Steve Souder's High Performance Web Sites - Evolution of Script Loading

Si tiene guión incluye múltiples y la necesidad de convencerse de que van a cargar en el orden correcto para ti, echa un vistazo a WebSiteOptimization.com's Article on the Defer Attribute, donde se puede ver el fin de ejecutar las secuencias de comandos.

+1

de acuerdo. Es una buena práctica declarar funciones de JavaScript después del HTML para que la página parezca cargar más rápido. En otras palabras, es una buena idea cargar primero la vista (para que el usuario pueda ver la página) y luego cargar las declaraciones de funciones al final. –

+1

Una página html bien estructurada se ordenará así: CSS en la parte superior, contenido HTML en el medio y JavaScript al final –

Cuestiones relacionadas