Tengo una maqueta en HTML
<a href="javascript:ShowOld(2367,146986,2)"><img title="next page" alt="next page" src="/themes/me/img/arrn.png"></a>
Recibí la respuesta del servidor cuando envié la solicitud.
Con esta maqueta obtuve como respuesta a una solicitud AJAX que envía mi código al servidor.
Bueno, todo está bien, pero cuando hago clic en el enlace, el navegador quiere abrir la función como enlace; lo que significa que después de hacer clic veo la barra de direcciones como
javascript:ShowOld(2367,146986,2)
significa que el navegador es URL si quiero hacer esto en Firebug, eso es trabajo. Ahora quiero hacer eso, cuando alguien hace clic en el enlace, el navegador intenta llamar a la función ya cargada en el DOM en lugar de intentar abrirlos en el navegador.
javascript
html
debugging
Brett DeWoody
fuente
fuente
Respuestas:
Esa sintaxis debería funcionar bien, pero puede probar esta alternativa.
<a href="javascript:void(0);" onclick="ShowOld(2367,146986,2);">
o
<a href="javascript:ShowOld(2367, 146986, 2);">
RESPUESTA ACTUALIZADA PARA LOS VALORES DE CADENA
Si está pasando cadenas, use comillas simples para los parámetros de su función
<a href="javascript:ShowOld('foo', 146986, 'bar');">
fuente
Si solo tiene como "controlador de eventos de clic", utilice un
<button>
. Un enlace tiene un significado semántico específico.P.ej:
<button onclick="ShowOld(2367,146986,2)"> <img title="next page" alt="next page" src="/themes/me/img/arrn.png"> </button>
fuente
Intente hacer que su javascript sea discreto:
fuente
href
es opcional, simplemente omítalo.Utilizo un poco de CSS en un tramo para que se vea como un enlace así:
CSS:
.link { color:blue; text-decoration:underline; cursor:pointer; }
HTML:
<span class="link" onclick="javascript:showWindow('url');">Click Me</span>
JAVASCRIPT:
function showWindow(url) { window.open(url, "_blank", "directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes"); }
fuente
También debe separar el javascript del HTML.
HTML:
<a href="#" id="function-click"><img title="next page" alt="next page" src="/themes/me/img/arrn.png"></a>
javascript:
myLink = document.getElementById('function-click'); myLink.onclick = ShowOld(2367,146986,2);
Solo asegúrese de que la última línea de la función ShowOld sea:
return false;
ya que esto evitará que el enlace se abra en el navegador.
fuente
href
es opcional, simplemente omítalo.<a href="#" onclick="javascript:ShowOld(2367,146986,2)">
fuente
#
usarhref="javascript:void(0)
href
es opcional, simplemente omítalo.href
es opcional para losa
elementos.Es completamente suficiente para usar
<a onclick="ShowOld(2367,146986,2)">link text</a>
fuente