Pergunta

Alguém pode ajudar, parece que estou tendo problemas ao colocar um evento onclick de uma tag âncora, ele funciona em uma imagem.eu tenho isto

this.whereAreWe = document.getElementById('where_are_we');
this.whereAreWe.onclick = this.whereAreWe;

Coloquei uma tag A usando o id de "where_are_we" ...

mas nunca executa..se eu mudar para uma imagem, funciona ..

Eu também coloquei o href="#"

Há algo especial nas tags âncora e na aplicação do onclick via código?

Também tentei remover o href. Se eu remover o href, ele não mostra o ícone da mãozinha.

Coloquei um breakpoint na função e com imagem ele entra mas usando a âncora não entra

Alguma ideia?

Foi útil?

Solução

Eu também tentei remover a href, se eu remover a href não me mostrar o ícone mãozinha.

Você precisa o atributo 'href' para o 'a' tag, a fim de especificar o URL do documento de destino ou recurso web. No caso de você não especificá-lo - mouseover não altera o cursor. Claro que você pode usar CSS para modificar isso, mas essa é uma questão diferente.

Outras dicas

O código que você forneceu é confuso. O código a seguir funciona corretamente para mim:

<a href="#" id="whereWeAre">a link</a>
<script type="text/javascript">
  var whereWeAre = document.getElementById("whereWeAre");

  function testClick() {
    alert("You clicked!");
  }

  whereWeAre.onclick = testClick;
</script>

Se o seu exemplo foi um pouco mais específico que provavelmente poderia ser mais útil.

Existem 2 problemas com seu javascript.O uso de "this" e a ligação do evento onclick de volta à referência do elemento DOM para o HREF.Em vez disso, tente isto:

var whereAreWe = document.getElementById("where_are_we");
whereAreWe.onclick = function(){ 
     alert("Click event on Where are We");
     return false;
};
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top