我只是使用Node.js和Angular.js构建一个AppJs应用程序,但我无法使键盘快捷键工作。
我有一个菜单工作,但“&”技巧在我的Mac上不起作用:
var menubar = appjs.createMenu([{
label:'&File',
submenu:[{
label:'&Quit',
action: function(){
window.close();
}
}]
},
{
label:'&Window',
submenu:[
{
label:'&Fullscreen',
action:function(item) {
window.frame.fullscreen();
console.log(item.label+" called.");
}
},
{
label:'&Minimize',
action:function(){
window.frame.minimize();
}
},
{
label:'Maximize',
action:function(){
window.frame.maximize();
}
},
{
label:''//separator
},
{
label:'Restore',
action:function(){
window.frame.restore();
}
}
]
}
]);
我要做的另一件事是允许复制/粘贴并选择所有使用CMD + C,CMD + V和CMD + A ......但我找不到办法做到这一点......
我在“准备好”事件(服务器端)中有这个代码,女巫捕获键盘事件,但我不知道如何处理它们:(
window.on('ready', function(){
window.require = require;
window.process = process;
window.module = module;
window.addEventListener('keydown', function(e){
// SELECT ALL (CMD+A)
if (e.keyCode == 65) {
console.log('SELECT ALL');
}
// COPY (CMD+C)
if (e.keyCode == 67) {
console.log('COPY');
}
// PASTE (CMD+V)
if (e.keyCode == 86) {
console.log('PASTE');
}
if (e.keyIdentifier === 'F12' || e.keyCode === 74 && e.metaKey && e.altKey) {
window.frame.openDevTools();
}
});
});
如果您对此主题有任何了解,请您非常感谢:)
答案 0 :(得分:0)
我找到了一种方法,可以使用“execCommand”使键盘快捷键工作。
在“ready”事件中,我刚刚添加了命令,如下所示:
window.on('ready', function(){
window.require = require;
window.process = process;
window.module = module;
window.addEventListener('keydown', function(e){
// console.log(e.keyCode);
// SELECT ALL (CMD+A)
if (e.keyCode == 65) {
window.document.execCommand('selectAll');
}
// COPY (CMD+C)
if (e.keyCode == 67) {
window.document.execCommand('copy');
}
// EXIT (CMD+M)
if (e.keyCode == 77) {
window.frame.minimize();
}
// EXIT (CMD+Q or CMD+W)
if (e.keyCode == 81 || e.keyCode == 87) {
window.close();
}
// PASTE (CMD+V)
if (e.keyCode == 86) {
window.document.execCommand('paste');
}
// CUT (CMD+X)
if (e.keyCode == 88) {
window.document.execCommand('cut');
}
if (e.keyIdentifier === 'F12' || e.keyCode === 74 && e.metaKey && e.altKey) {
window.frame.openDevTools();
}
});
});
希望这能有所帮助!