Javascript捕获快捷方式并运行一些操作
我需要捕获Alt-e或Command-e(例如)来打开除扩展名为Javascript之外的同名文档 为了做到这一点,我需要做这三个步骤Javascript捕获快捷方式并运行一些操作,javascript,keyboard,dom-events,Javascript,Keyboard,Dom Events,我需要捕获Alt-e或Command-e(例如)来打开除扩展名为Javascript之外的同名文档 为了做到这一点,我需要做这三个步骤 捕捉alt-e或Command-e 获取文档名 替换名称 我可以使用哪些函数/方法来实现它们 document.onkeypress=function(e){ String.fromCharCode(e.charCode) == 'e' and Alt is pressed ?? get document name ?? newwindo
document.onkeypress=function(e){
String.fromCharCode(e.charCode) == 'e' and Alt is pressed ??
get document name ??
newwindow = replace the html to txt ??
window.open(newwindow,"myWindow");
}
补充
我无法让苹果的命令正常工作,但我可以用“Control-E”打开TextMate
var isCtrl = false;
document.onkeyup=function(e){
if(e.which == 17) isCtrl=false;
}
document.onkeydown=function(e){
if(e.which == 17) isCtrl=true;
if(e.which == 69 && isCtrl == true) {
window.location = "txmt://open/?url=file://%s","myWindow";
return false;
}
}
有关如何使用按键代码确定是否按下组合(Alt、Cntr、Shift+something)的信息,请参见此示例。它在底部还有一个所有键码的列表 您还可以使用本机
event.ctrlKey
,event.shiftKey
,event.altKey
属性
P>以上所说的,考虑使用Shift作为你的修饰符,这样它就不会和其他事物发生冲突。CNTR和ALT往往是菜单和滚动使用的常用组合(例如CNTR+鼠标滚动===缩放)。有关如何使用键码确定是否按下组合的示例(ALT、CNTR、Shift+something)。它在底部还有一个所有键码的列表 您还可以使用本机
event.ctrlKey
,event.shiftKey
,event.altKey
属性
P>以上所说的,考虑使用Shift作为你的修饰符,这样它就不会和其他事物发生冲突。CNTR和ALT往往是菜单和滚动使用的常用组合(例如CNTR+鼠标滚动===缩放)。事件有一个altKey属性,如果ALT键为true,只需添加
if(e.altkey && String.fromCharCode(e.charCode) == 'e'){
DoSomething()
}
该事件具有altKey属性,如果alt键为true,则只需添加
if(e.altkey && String.fromCharCode(e.charCode) == 'e'){
DoSomething()
}
请不要更改标准快捷方式的语义--Alt+E在大多数浏览器中打开“编辑”菜单,因此不要让它执行其他操作。@casablanca:谢谢您的评论,我只想捕获快捷方式并执行一些操作。请不要更改标准快捷方式的语义--Alt+E在大多数浏览器中打开“编辑”菜单,所以不要让它做其他事情。@casablanca:谢谢你的评论,我只想捕获快捷方式并做一些事情。
String.fromCharCode
nice。谢谢你的小片段。String.fromCharCode
nice。谢谢你的小片段。