funções Onleftclick & onrightClick Javascript
-
22-08-2019 - |
Pergunta
No meu código do lado do servidor Estou dinamicamente construir uma mesa e e agora estou adicionando o seguinte código para manipular a linha clique.
tr.Attributes.Add("onclick", "window.open('" + root + document.IPT_Name + "/" + document.IPT_Sub_Name + "/" + document.File_Name + "', 'mywindow', 'toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,copyhistory=no, resizable=yes')");
Existe alguma maneira de fazer este trabalho apenas um clique de esquerda e, em seguida, adicionar um atributo diferente para o clique direito de ir para um local diferente?
Solução
Você pode detectá-lo, mas há algumas questões específicas do navegador que você tem que assistir. Aqui está um código de http://www.quirksmode.org/js/events_properties.html
function doSomething(e) {
var rightclick;
if (!e) var e = window.event;
if (e.which) rightclick = (e.which == 3);
else if (e.button) rightclick = (e.button == 2);
alert('Rightclick: ' + rightclick); // true or false
}
Há também um plug-in para jQuery que permite detectar cliques do mouse direito: http://abeautifulsite.net/notebook/68
Outras dicas
Aqui está um código retirado do jQuery 1.3.2 com comentários que explicam sobre event.which
e event.button
.
// Add which for click: 1 == left; 2 == middle; 3 == right
// Note: button is not normalized, so don't use it
if ( !event.which && event.button )
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));