在Firefox中无法识别Esc键



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

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

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

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

use:

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的默认动作是停止加载页面,
所以你必须防止这种行为,否则你不能改变位置。

Fiddle: http://jsfiddle.net/doktormolle/CsqgE/(在使用ESC之前先点击进入结果帧)

但是,你真的应该使用另一个键。
如果用户使用ESC,则用户期望当前页面的加载停止。

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

我怀疑你设置的位置是无效的。

尝试设置window.location.href

如果你不使用'Escape keyup或Escape keydown'
在你的代码中的其他事情,你可以使用'keyup'来代替按键**

 document.body.addEventListener( 'keyup', function (e) {
        e=(e||window.event);
        if (e.key == "Escape") {
            console.log('escape is pressed');
        }    
    },false ); 

e。keyCode是折旧,使用e。key,在监听器中添加"console.log(e.key)"
,如果你想获得键名
是更好的,因为它适应键盘没有相同的组成和e.k keycode不适应

相关内容

  • 没有找到相关文章

最新更新