2

由于某种原因,此脚本在 Firefox 中不起作用:

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

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

基本上,它的作用是/edit在您按下转义键时加载页面。

4

2 回答 2

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,则当前页面的加载停止,仅此而已。

于 2011-08-28T02:34:18.557 回答
0

事件处理程序为我工作:http: //jsfiddle.net/Tm2PZ/

我怀疑您设置的 lcoation 无效。

尝试设置window.location.href

于 2011-08-28T02:33:40.570 回答