2

相当模糊的标题,我知道,但我将自定义键事件绑定到document对象以捕获AltR组合按键,如下所示:

document.body.onkeydown = function(event){
    event = event || window.event;
    var keycode = event.charCode || event.keyCode;
    if (keycode === 82) {
        if (event.altKey) {
            if (!canReload) {
                canReload = true;
                window.location.href += "#doGreaseRefresh";
            } else {
                canReload = false;
                window.location.href = window.location.href.replace("#doGreaseRefresh", "");
            }

            return false;
        }
    }
}

代码按预期运行,但也会产生相当烦人的“哔”声。我怎样才能防止这种情况?return false没有证明是答案,所以我想知道它是否可能。

哦,如果您想知道,这是在 Chrome 用户脚本(内容脚本)中,如果我按下 ,则每 10 秒刷新一次 Stack Overflow 的主页AltR,并在我AltR再次按下时停止刷新。:)

4

2 回答 2

1

无法停止哔声显然是 Chrome 中的一个错误:http ://code.google.com/p/chromium/issues/detail?id=105500 。return false在没有哔哔声的情况下在 Firefox 中工作。

干杯-

于 2012-05-12T18:22:13.037 回答
1

正如 ZachB 指出的那样,这似乎是 Chrome 的一个错误。

要解决这个烦恼:

  1. 进入 Windows 控制面板。
  2. 选择声音系统声音
  3. 分配(None)给 的声音Default Beep
    (无论如何我都喜欢这样做,因为它比有用的烦人多 50 倍)。
于 2012-05-13T02:31:42.683 回答