Esc键未在Firefox中识别

时间:2011-08-28 01:57:27

标签: javascript firefox keypress esc-key

由于某种原因,此脚本无法在Firefox中运行:

document.onkeydown=function keypress(e) {
    if (e.keyCode == 27) {
        window.location = "/edit"
    };
};

它在Chrome中运行良好,但出于某种原因,它无法在Firefox中运行。

基本上,当您按下转义键时,它会加载/edit页面。

2 个答案:

答案 0 :(得分:7)

使用:

document.onkeydown=function keypress(e) {
  e=(e||window.event);  
    if (e.keyCode == 27) {
        try{e.preventDefault();}//Non-IE
        catch(x){e.returnValue=false;}//IE
        window.location = "/edit";
    };
}

ESC 的默认操作是停止加载页面,
所以你必须防止这种行为,否则你无法改变位置。

小提琴:http://jsfiddle.net/doktormolle/CsqgE/(在使用 ESC 之前先点击进入结果框架)

但是,你真的应该使用另一把钥匙 如果用户使用 ESC ,则用户希望当前页面的加载停止。

答案 1 :(得分:0)

事件处理程序对我有用:http://jsfiddle.net/Tm2PZ/

我怀疑您设置的位置无效。

尝试设置window.location.href