无法使用带有chrome的event.preventDefault()

时间:2014-08-14 08:49:11

标签: javascript ctrl

我正在使用 ctrl + charCode **来删除列表页面中的一行,该行在Firefox上工作正常,但当我在** Chrome 上测试时,事件.preventDefault()无法停止基于浏览器的功能出现

function showkey(e){
     if(e.ctrlKey && e.charCode == 100){  
        e.preventDefault();
        //delete code // }

<body onkeypress="showkey(event);">

2 个答案:

答案 0 :(得分:0)

你可以用jQuery实现。包含jQuery库

$(document).bind('keydown', function(e) {
  if(e.ctrlKey && (e.which == 100)) {
    e.preventDefault();
    return false;
  }
});

这有效:)

答案 1 :(得分:0)

看看这个答案 Override the bookmark shortcut (Ctrl+D) function in Chrome

刚刚在此页面上测试的工作解决方案

document.addEventListener('keydown', function(event) {
  if (event.ctrlKey && String.fromCharCode(event.keyCode) === 'D') {
    console.log("you pressed ctrl-D");
    event.preventDefault();
    event.stopPropagation();
  }
}, true);