由于某些原因,此脚本无法在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不适应