Domanda

Nel mio codice lato server sto costruendo dinamicamente un tavolo e e in questo momento sto aggiungendo il seguente codice per gestire la riga clic.

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')");

C'è un modo per fare questo lavoro solo un clic di sinistra e quindi aggiungere un attributo diverso per il tasto destro del mouse per andare a una posizione diversa?

È stato utile?

Soluzione

È possibile rilevare, ma ci sono alcuni problemi del browser specifico che si deve guardare. Ecco il codice da 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
}

C'è anche un plug-in per jQuery che consente di rilevare clic destro del mouse: http://abeautifulsite.net/notebook/68

Altri suggerimenti

Ecco un po 'di codice messo fuori jQuery 1.3.2 con i commenti che spiegano circa 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 ) ));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top