ho notato uno strano comportamento della funzione live()
in jQuery:jQuery vivo ('click') licenziamento per giusta clic
<a href="#" id="normal">normal</a>
<a href="#" id="live">live</a>
$('#normal').click(clickHandler);
$('#live').live('click', clickHandler);
function clickHandler() {
alert("Clicked");
return false;
}
Questo è bene e dandy fino a fare clic destro sul "live" link e avvia il gestore e quindi non mostra il menu di scelta rapida. Il gestore eventi non attiva affatto (come previsto) sul collegamento "normale".
Sono stato in grado di lavorare intorno ad esso cambiando il gestore per questo:
function clickHandler(e) {
if (e.button != 0) return true;
// normal handler code here
return false;
}
ma questo è davvero fastidioso dover aggiungere che a tutti i gestori di eventi. C'è un modo migliore per fare in modo che i gestori di eventi si attivino come normali gestori di clic?
Come si fa a fare una domanda in futuro? – PetersenDidIt
Sono stato felice di vedere qui la tua soluzione alternativa, e l'ho provato prontamente sulla mia app, e anche se i link su cui faccio clic con il pulsante destro del mouse ora possono essere scoperti e ignorati, non riesco ancora a visualizzare il mio menu di scelta rapida queste. Inoltre, il mio clic del tasto centrale del mouse (aperto in una nuova scheda) non funziona neanche. Ma almeno il conduttore può tornare presto! – Funka
In realtà, sembra che se faccio clic con il pulsante destro ripetutamente, rapidamente, riesco a visualizzare occasionalmente il menu di scelta rapida .... Hmmm. – Funka