Ciau a tutti... come faccio a capire se è stato pressato il tasto sinistro o destro del mouse???
Cioè io ho questo:
Codice:<input type='button' onmouseup=' check();'>
Come faccio a capire quale dei due è stato pressato???
Ciau a tutti... come faccio a capire se è stato pressato il tasto sinistro o destro del mouse???
Cioè io ho questo:
Codice:<input type='button' onmouseup=' check();'>
Come faccio a capire quale dei due è stato pressato???
si, scusa, comuqnue allora devi usare due eventi diversi:
per il tasto destro:
mentre per il sinistro basta usare onclickCodice:function check(){ if(event.button == 2){ alert("Premuto il tasto destro del mouse"); } }
Non funge
Ti spiego in dettaglio cosa devo fare:
Allora io ho un bottone e ogni volta che ci si clicca sopra col tasto sinistro del mouse deve aumentare una variabile di uno. Prima avevo usato l'evento onclick..solo che ho notato che se tu premi il tasto INVIO e come se tenessi premuto il tasto del mouse e clicks salgono a dismisura...per questo motivo ho inserito l'evento onmouseup...così si attiva solo al rilascio del mouse inibendo l'utilità del tasto INVIO...tuttavia ho notato che anche rilasciando il tasto destro aumentano i click....per questo motivo vorrei che aumentasse soltanto quando si preme il tasto sinistro...Ho provato come dici tu però non funge...magari ho sbagliato a inserirlo...di seguito ti illustro il codice.
Pagina html (solo la parte interessata)
Codice:<input type="button" class='big' value="Cliccami!!" onmouseup="aumenta();">
Codice javascript:
Ho sbagliato qualcosa? T.TCodice:function aumenta() { if(event.button != 2) { count++; document.getElementById('p').innerHTML= count; } }
scusa, ho sbagliato io prima, prova a usare questo script (non va nella funzione però)
il codice non lo devi richiamare perché si "richiama da solo"Codice:var messaggio = "Tasto destro disabilitato"; function DisabilitaIE4(){ if (event.button == 2 || event.button == 1){ alert(messaggio); return false; } } function DisabilitaNS4(e){ if (document.layers || document.getElementById && !document.all){ if (e.which == 1 || e.which == 2 || e.which == 3) { alert(messaggio); return false; } } } document.onload = function () { if (document.layers){ document.captureEvents(Event.MOUSEDOWN); document.onmousedown = DisabilitaNS4; } else if (document.all && !document.getElementById){ document.onmousedown = DisabilitaIE4; } } document.oncontextmenu = function () { alert(messaggio); return false; } // -->
questo codice in pratica disattiva il tasto destro e se viene premuto appare un alert
No vabò io non devo disattivare il tasto destro....voglio soltanto che sul bottone si possa cliccare solo col sinistro, o meglio...che vale solo il sinistro..quello che hai messo credo disattiva il tasto destro per tutta la pagina.
Stavo pensando una cosa...se invece metto onclick e faccio il controllo per il tasto invio?? Si potrebbe fare?? Perchè onclick funziona solo col sinistro...giusto???
Fai così:
Codice HTML:<input type='button' onmouseup='return check(event);'>
Codice:function check(e) { var b = e.button || e.which; if(b != 1) return false; return true; }
Apposto risolto.. L'ho fatto così:
Grazie di tutto...tvb xDCodice:function aumenta(event) { if( event.which == 1 || event.button == 1) { count++; document.getElementById('p').innerHTML= count; } }