Como usar um link para chamar o código JavaScript?
javascript
Jin Yong
fonte
fonte
<a onclick="jsfunction()" href="#">
ou
<a onclick="jsfunction()" href="javascript:void(0);">
Editar:
A resposta acima não é realmente uma boa solução, pois aprendi muito sobre JS desde que eu postei inicialmente. Veja a resposta de EndangeredMassa abaixo para obter uma melhor abordagem para resolver esse problema.
JavaScript discreto, sem dependência de biblioteca:
fonte
href
caso de não querer redirecionar o usuário e apenas querer executar algum código? Edit: Eu vejo que ele pode ser em branco esquerdo:href=""
.onclick
evento viawindow.onload
, em vez de colocaronclick
diretamente na<a>
tag?EDIT, anos depois: NÃO! Nunca faça isso! Eu era jovem e estúpido!
Edite novamente: algumas pessoas perguntaram por que você não deveria fazer isso. Há algumas razões:
Apresentação: o HTML deve se concentrar na apresentação. Colocar JS em um HREF significa que seu HTML está agora, meio que, lidando com a lógica de negócios.
Segurança: o Javascript no seu HTML assim viola a Política de Segurança de Conteúdo (CSP) . A Política de Segurança de Conteúdo (CSP) é uma camada adicional de segurança que ajuda a detectar e mitigar certos tipos de ataques, incluindo XSS (Cross-Site Scripting) e ataques de injeção de dados. Esses ataques são usados para tudo, desde roubo de dados até desfiguração do site ou distribuição de malware. Leia mais aqui .
Acessibilidade: as tags âncora servem para vincular a outros documentos / páginas / recursos. Se o seu link não for a lugar algum, deve ser um botão . Isso torna muito mais fácil para os leitores de tela, terminais braille, etc., determinar o que está acontecendo e fornecer informações úteis aos usuários com deficiência visual.
fonte
href='#'
ealert()
emonclick
?E, por que não ser discreto com o jQuery:
HTML
fonte
Javascript discreto tem muitas vantagens, aqui estão os passos necessários e por que é bom usá-lo.
o link é carregado normalmente:
<a id="DaLink" href="http://host/toAnewPage.html"> clique aqui </a>
isso é importante porque ele funcionará para navegadores com javascript não ativado ou se houver um erro no código javascript que não funcione.
o javascript é executado no carregamento da página:
se o javascript for executado com êxito, talvez ao carregar o conteúdo da página atual com javascript, o retorno false cancelará o acionamento do link. em outras palavras, colocar return false tem o efeito de desativar o link se o javascript foi executado com êxito. Ao permitir que ele seja executado se o javascript não funcionar, faça um bom backup para que seu conteúdo seja exibido de qualquer maneira, para os mecanismos de pesquisa e se o seu código for quebrado, ou seja exibido em um sistema não javascript.
O melhor livro sobre o assunto é "Dom Scription", de Jeremy Keith
fonte
Ou, se você estiver usando PrototypeJS
fonte
Eu acho que você pode usar o
onclick
evento, algo como isto:fonte
com base na resposta @mister_lucky, use com jquery:
Código HTML:
fonte
basta usar javascript: ---- exemplale
fonte