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?

Foi útil?

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 ) ));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top