Chrome: "abrir link em nova guia" não disparando o evento click?

9

Estou desenvolvendo uma extensão do Chrome que faz algo quando uma tag <td> é clicada em uma página da Web.

Veja um exemplo de código:

HTML:

<table>
    <tr>
        <td id="mytest"><a href="http://blablabla.com">Foo Bar</a></td>
    </tr>
</table>

Javascript:

var myTd = document.getElementById("mytest");
myTd.addEventListener("click", function() {
    localStorage["foobar"] = 1;
});

Quando clico no link, a chave localStorage é definida, se eu clicar nele com o botão do meio do mouse, ele também define a chave (e abre o link em uma nova guia).

O problema é quando eu uso o botão direito do mouse e "abrir link em uma nova aba". Nesse caso, o evento click não parece ser acionado e, portanto, a chave localStorage não será definida.

Estou faltando alguma coisa? Existe alguma maneira de fazer o clique com o botão direito - > "abrir link em nova aba" disparar o evento click?

Por favor, note que eu não quero adicionar o ouvinte ao nó <a> , por causa de algumas complicações no HTML real em que estou trabalhando.

Obrigado antecipadamente.

    
por rogeriopvl 10.05.2011 в 11:47
fonte

1 resposta

3

boa pergunta ...

Não há um evento do botão direito do mouse no navegador, o chrome envia os eventos mousedown, mouseup e contextmenu,

Eu achei a seguinte página bastante útil, embora eu não tenha verificado a parte do botão direito, a descrição geral da cadeia de eventos é bastante fiel.

Para uma referência rápida: link

    
por Eineki 10.05.2011 / 11:58
fonte