0

I mean is there any way to prevent the default accesskey in Chrome.

var text = document.getElementById("text");
text.onkeyup = function(e) {
  if(e.ctrlKey && e.keyCode == 72) {
    // do something...
    alert("You wont see me cause Chrome will open history manager");
  }
}
<textarea id="text"></textarea>
jasonxia23
  • 147
  • 1
  • 12

2 Answers2

1

This should work. You need Keydown Event.

var text = document.getElementById("text");
text.addEventListener("keydown", function(e) {
 console.log(e.keyCode);
  if (e.keyCode == 72 && (navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey)) {
    e.preventDefault();
    alert('Stopped');
  }
}, false);
<textarea id="text"></textarea>
Just code
  • 13,553
  • 10
  • 51
  • 93
0

I've added isCtrlDown variable and keyup with keydown event, to achieve what you're looking for because I didn't see isKeyDown kind of function in Key as discussed here.

var isCtrlDown = false;
var text = document.getElementById("text");
text.onkeydown = function(e){
    if(e.keyCode == 17){
        isCtrlDown = true;
    }
    if(isCtrlDown && e.keyCode == 72){
        // do something...
        console.log("You wont see me cause Chrome will open history manager");
    }
    e.preventDefault();
}
text.onkeyup = function(e){
    if(e.keyCode == 17){
        isCtrlDown = false;
    }
    e.preventDefault();
}
Community
  • 1
  • 1
Govinda
  • 1,031
  • 8
  • 11