2012-04-25 18 views

Respuesta

4

SI lo necesario para pasar un javascript fragmento de código que necesita para funcionar en lugar del comportamiento por defecto de un elemento a continuación, utiliza esta sintaxis javascript: ;.

Por ejemplo

<a href="javascript:alert('');">Test</a> <!-- Runs on the click of the link --> 

Del mismo modo, se puede combinar estos eventos también en otros, como onclick, onchange, etc, pero esto es realmente no es necesario, ya que se puede ejecutar el fragmento, directamente.

Los usos de este, que he visto en años son:

  1. <a href="javascript:void(0);">Test</a>
  2. <form action="javascript:void(0);">..</form>
1

Eso por sí solo no hace nada, pero normalmente javascript: precede a un cierto código JavaScript para indicar que el navegador debe ejecutar el código en lugar de tratar el atributo href como una dirección URL. Eso es.

1

El javascript :; en el href hace lo mismo que poner algo en la propiedad "onclick".

Por lo tanto,

<a href="javascript:do_something();">Link</a> 

es idéntica a

<a href="#" onclick="do_something();">Link</a> 

No estoy seguro de que es mejor utilizar cuando, pero vale la pena mencionar es que se puede escribir estos "enlaces" en al barra de direcciones de la mayoría de los navegadores modernos y se ejecutará.

copiar y pegar (o tipo, cromo parece prohibir esto.) En la barra de direcciones

javascript:alert("test"); 

, así como se puede guardar enlaces con estas direcciones a marcadores para que se ejecute el guión de cualquier página en la que hagas clic en el marcador.

0

Esto podría ser una referencia que no hace nada cuando se hace clic y puede ir acompañada de la configuración de clic, etc. para hacer realmente cualquier cosa.

upd: Mientras que algunos dicen que poner un script en href es lo mismo que ponerlo en clic, hay algunas diferencias, como lo que sucede al hacer clic derecho (y algunos scripts definitivamente no deberían abrirse en una pestaña nueva o tal) Aún así, mi opinión sobre la práctica es que es algo desagradable, y no solo por el texto poco informativo en la barra de estado cuando se pasa el mouse sobre el enlace.

-2

Puedes imaginarte como alguien que copia ese "javascript :;" en la url box y presionando Enter. Como comienza con "javascript:", el navegador sabrá ejecutar lo que sigue como javascript en la página actual. Como todo lo que sigue es un ";", nada sucederá, en realidad. Es lo mismo que hacer clic en un botón que tiene un atributo onClick establecido en ";"

Por ejemplo:

<a href="javascript:alert('howdy!')">Click me!</a> 

tiene el mismo efecto que

<button onClick="alert('howdy!')">Click me!</button> 

o incluso

<a href="#" onClick="alert('howdy!')">Click me!</a> 

Tenga en cuenta que, puesto que es un enlace, la mayoría de los navegadores le dicte su dirección (en ese caso "javascript: alert ('howdy!')") en la barra de estado, y eso puede ser no deseado (creo que es parte icularly feo).

Cuestiones relacionadas