funzioni Onleftclick & onrightClick Javascript
-
22-08-2019 - |
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?
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 ) ));