Comment puis-je désactiver un raccourci clavier dans GreaseMonkey lors de l'édition ?

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

  •  09-06-2019
  •  | 
  •  

Question

j'utilise Ctrl+Gauche / Ctrl+Droite dans un script GreaseMonkey comme raccourci clavier pour retourner/avancer les pages.Cela semble fonctionner correctement, mais je souhaite désactiver ce comportement si je me trouve dans une zone d'édition de texte.J'essaie d'utiliser document.activeElement pour obtenir l'élément actif de la page et tester s'il s'agit d'une zone modifiable, mais il renvoie toujours "non défini".

Était-ce utile?

La solution

document.activeElement fonctionne pour moi dans FF3 mais ce qui suit fonctionne également

(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);
    }
}

})();

Autres conseils

element.activeElement fait partie de la spécification HTML5 mais n'est pas pris en charge par la plupart des navigateurs.Il a été introduit pour la première fois par IE.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top