2017-01-31 4 views
0

J'ai besoin d'implémenter un raccourci alt + b, appelant une fonction. Mon problème est que chaque fois que j'appuie sur ce raccourci, un Firefox et un IE ouvrent une barre de menu "Modifier". Y a-t-il une solution pour empêcher ce comportement par défaut? Ou peut-être est-il possible de fermer cette barre de menu après avoir appelé une fonction?Comment éviter les raccourcis par défaut Alt + b par Firefox et IE via JS?

Ce que j'ai essayé, mais sans succès

 $(document).keydown(function(e) { 

     if (e.keyCode == 18 || e.which==18) 
     { 
      e.preventDefault(); 
     }   
     }); 

Répondre

0

Essayez cela, il ne fonctionnera que le console.log() si vous touchez Alt +B. Remplacez la console avec tout ce que vous voulez.

$(window).keydown(function(event) { 
 
    if(event.altKey && event.keyCode == 66) { 
 
    event.preventDefault(); 
 
    console.log("Hey! alt+B event captured!"); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

J'ai essayé, mais pas de succès. J'ai essayé de déboguer un fichier .js et j'ai obtenu ce ... https://i.stack.imgur.com/YwcxB.jpg KeyCode est 18 (ALT) –

0

Cela semble fonctionner pour moi:

$(document).keydown(function(e) { 

    // check for alt+b 
    if (e.keyCode == 66 && e.altKey === true) { 
     e.preventDefault(); 
    } 
}); 

Vous devez vérifier la presse de b, non alt.

+0

j'ai essayé cela, mais pas de succès. J'ai essayé de déboguer un fichier. Js et j'ai obtenu ce ... https://i.stack.imgur.com/YwcxB.jpg KeyCode est 18 (ALT) –

+0

Pouvez-vous faire un exemple en direct? Par exemple en utilisant JSFiddle. – Halcyon

+0

essayez ceci avec FF, parce qu'avec Crome c'est ok https://jsfiddle.net/dmtf6n27/150/ –