Eu tenho alguns modelos em HTML
<a href="javascript:ShowOld(2367,146986,2)"><img title="next page" alt="next page" src="/themes/me/img/arrn.png"></a>
Recebi a resposta do servidor quando enviei a solicitação.
Com este mockup obtive como resposta uma solicitação AJAX que envia meu código ao servidor.
Bem, está tudo bem mas quando clico no link o navegador quer abrir a função como link; significando que depois de clicar vejo a barra de endereço como
javascript:ShowOld(2367,146986,2)
significa coisa do navegador que é url se eu quiser fazer isso no firebug que funciona. Agora eu quero fazer isso então quando alguém clica no link o navegador tenta chamar a função já carregada no DOM em vez de tentar abri-los no navegador.
javascript
html
debugging
Brett DeWoody
fonte
fonte
Respostas:
Essa sintaxe deve funcionar bem, mas você pode tentar esta alternativa.
<a href="javascript:void(0);" onclick="ShowOld(2367,146986,2);">
ou
<a href="javascript:ShowOld(2367, 146986, 2);">
RESPOSTA ATUALIZADA PARA OS VALORES DE CADEIA
Se você estiver passando strings, use aspas simples para os parâmetros de sua função
<a href="javascript:ShowOld('foo', 146986, 'bar');">
fonte
Se você tiver apenas um "manipulador de eventos de clique", use um
<button>
. Um link tem um significado semântico específico.Por exemplo:
<button onclick="ShowOld(2367,146986,2)"> <img title="next page" alt="next page" src="/themes/me/img/arrn.png"> </button>
fonte
Tente tornar o seu javascript discreto:
fonte
href
é opcional, basta omiti-lo.Eu uso um pouco de CSS em uma extensão para fazer com que pareça um link assim:
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"); }
fonte
Você também deve separar o javascript do 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);
Apenas certifique-se de que a última linha na função ShowOld seja:
return false;
pois isso impedirá que o link seja aberto no navegador.
fonte
href
é opcional, basta omiti-lo.<a href="#" onclick="javascript:ShowOld(2367,146986,2)">
fonte
#
usarhref="javascript:void(0)
href
é opcional, basta omiti-lo.href
é opcional paraa
elementos.É completamente suficiente para usar
<a onclick="ShowOld(2367,146986,2)">link text</a>
fonte