Come posso disattivare un tasto di scelta rapida in GreaseMonkey durante la modifica?

StackOverflow https://stackoverflow.com/questions/42774

  •  09-06-2019
  •  | 
  •  

Domanda

Sto utilizzando Ctrl+A sinistra / Ctrl+A destra in un GreaseMonkey script come una combinazione di tasti per tornare indietro / avanti pagine.Sembra che funziona bene, ma voglio disabilitare questo comportamento se sono in una text area di modifica.Sto cercando di utilizzare un documento.activeElement per ottenere la pagina elemento attivo e prova se si tratta di un'area modificabile, ma restituisce sempre "undefined".

È stato utile?

Soluzione

documento.activeElement funziona per me in FF3, ma anche i seguenti opere

(function() {

var myActiveElement;
document.onkeypress = function(event) {
    if ((myActiveElement || document.activeElement || {}).tagName != 'INPUT')
        // do your magic
};
if (!document.activeElement) {
    var elements = document.getElementsByTagName('input');
    for(var i=0; i<elements.length; i++) {
        elements[i].addEventListener('focus',function() {
            myActiveElement = this;
        },false);
        elements[i].addEventListener('blur',function() {
            myActiveElement = null;
        },false);
    }
}

})();

Altri suggerimenti

elemento.activeElement è parte di HTML5 spec, ma non è supportato dalla maggior parte dei browser.E ' stato introdotto da IE.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top