检测MAC javascript中的命令键
Detect command key in MAC javascript
我正在监听Extjs面板上的keydown事件以执行一些操作。当我按下ctrl+c、ctrl+v时,我复制、粘贴SVG对象。这适用于Windows操作系统和所有浏览器。但我对MAC有意见。我想检测MAC中的+C/+V。简而言之,我想检测MAC中的密钥。怎么做?有什么帮助吗?
getKeyboardAction :function(event){
var isCtrlKeyPressed = event.ctrlKey;
var isCopy = (isCtrlKeyPressed && event.keyCode == 67)?true:false;
var isPaste = (isCtrlKeyPressed && event.keyCode == 86)?true:false;
var isDuplicate = (isCtrlKeyPressed && event.keyCode == 68)?true:false;
var isDelete = (event.keyCode ==46)?true:false;
var isLeftArrow = (event.keyCode ==37)?true:false;
var isUpArrow = (event.keyCode ==38)?true:false;
var isRightArrow = (event.keyCode ==39)?true:false;
var isDownArrow = (event.keyCode ==40)?true:false;
var isEsc = (event.keyCode ==27)?true:false;
var keyboardAction = null;
if(isCopy) return 'COPY';
else if(isPaste) return 'PASTE';
else if(isDuplicate) return 'DUPLICATE';
else if(isDelete) return 'DELETE';
else if(isLeftArrow) return 'MOVELEFT';
else if(isUpArrow) return 'MOVEUP';
else if(isRightArrow) return 'MOVERIGHT';
else if(isDownArrow) return 'MOVEDOWN';
else if(isEsc) return 'ESCAPE';
return null;
},
感谢
为了在OSX上可靠地捕获CMD键,您需要监听keydown
和keyup
事件,而不是keypress
(它不会触发)。为了创建和捕获快捷方式,我会在keydown
上将任何keyCode推入Array,并在keyup
上删除相同的代码。
var pressedKeys = [ ];
$( document.body ).on('keydown', function( event ) {
pressedKeys.push( event.which || event.keyCode );
});
$( document.body ).on('keyup', function( event ) {
var pos;
if( (pos = Private.pressedKeys.indexOf( event.which || event.keyCode )) > -1 ) {
Private.pressedKeys.splice( pos, 1 );
}
});
相关文章:
- 当我点击jsf中的primefaces命令按钮时,如何获得点击事件
- Safari(Mac OS)上的jQuery平滑滚动问题
- 如何使用Socket.io将命令从客户端发送到服务器
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 搜索api在mac上显示对话框
- 命令行中的Uglify js;不要弄乱变量名
- http.listen()在运行时接受终端命令
- JavaScript下拉菜单-部件在Mac上消失
- 如何在没有单词的情况下从命令行运行Node.js程序'节点'
- 如何将给定的curl命令复制为jquery ajax请求
- 打开抽屉的Javascript打印命令
- 如何从mac上完全删除Ionic和Cordova安装
- Web控制台命令不起作用
- SQLite插件适用于Mac和Windows,但不适用于手机上的Safari
- 如何使用脚本在jsf中执行命令按钮的自动点击
- 类似HTML命令行的文本框
- MAC操作系统-如何通过Java类运行应用程序(.app)
- console.log无法运行Mac OS X
- 命令“;节点"做
- 检测MAC javascript中的命令键