add mac key bind

This commit is contained in:
kekee000 2015-10-10 15:23:38 +08:00
parent 4db1f2c2d7
commit da16d5ac33
4 changed files with 28 additions and 19 deletions

View File

@ -81,6 +81,7 @@ exports.exclude = [
"package.json",
"node",
"node_modules",
"release",
"build"
];

View File

@ -48,7 +48,7 @@ define(
function onDragSelected(e) {
var elements = e.items;
var toggle = e.ctrlKey; // 是否toggle
var toggle = e.ctrl; // 是否toggle
var append = e.shiftKey; // 是否append
if (!toggle && !append) {
@ -67,26 +67,31 @@ define(
this.fire('selection:change');
}
function preventEvent(e) {
console.log('prevent');
e.preventDefault();
e.stopPropagation();
}
function downlistener(e) {
var me = this;
e.ctrlKey = e.ctrlKey || e.metaKey;
e.ctrl = e.ctrl || e.metaKey;
var selected;
if (me.listening) {
// 阻止ctrl+A默认事件
if (65 === e.keyCode && e.ctrlKey) {
if (65 === e.keyCode && e.ctrl) {
preventEvent(e);
me.main.children().addClass('selected');
me.fire('selection:change');
}
// 撤销
else if (90 === e.keyCode && e.ctrlKey) {
e.stopPropagation();
else if (90 === e.keyCode && e.ctrl) {
preventEvent(e);
me.fire('undo');
}
// 重做
else if (89 === e.keyCode && e.ctrlKey) {
e.stopPropagation();
else if (89 === e.keyCode && e.ctrl) {
preventEvent(e);
me.fire('redo');
}
// 取消选中
@ -105,8 +110,8 @@ define(
me.fire('moveright');
}
// del, cut
else if (46 === e.keyCode || (88 === e.keyCode && e.ctrlKey)) {
e.stopPropagation();
else if (46 === e.keyCode || (88 === e.keyCode && e.ctrl)) {
preventEvent(e);
selected = me.getSelected();
if (selected.length) {
// del, cut 取消选中的glyf
@ -124,7 +129,8 @@ define(
}
}
// copy
else if (67 === e.keyCode && e.ctrlKey) {
else if (67 === e.keyCode && e.ctrl) {
preventEvent(e);
selected = me.getSelected();
if (selected.length) {
me.fire('copy', {
@ -144,7 +150,8 @@ define(
var me = this;
me.main.on('click', '[data-action]', lang.bind(onItemClick, this))
.on('dblclick', '[data-index]', function (e) {
if (!e.ctrlKey && !e.shiftKey && !e.target.getAttribute('data-action') && me.mode === 'list') {
e.ctrl = e.ctrlKey || e.metaKey;
if (!e.ctrl && !e.shiftKey && !e.target.getAttribute('data-action') && me.mode === 'list') {
var selected = $(this).attr('data-index');
me.fire('edit', {
lastEditing: me.getEditing(),
@ -153,13 +160,14 @@ define(
}
})
.on('click', '[data-index]', function (e) {
e.ctrl = e.ctrlKey || e.metaKey;
if (!e.target.getAttribute('data-action')) {
var selectedItems = null;
var element = this;
var the = $(element);
// 选中单个
if (!e.ctrlKey && !e.shiftKey) {
if (!e.ctrl && !e.shiftKey) {
if (me.mode === 'editor') {
var selected = the.attr('data-index');
me.fire('edit', {
@ -180,7 +188,7 @@ define(
}
// 增加/减少选中
if (e.ctrlKey) {
if (e.ctrl) {
the.toggleClass('selected');
me.fire('selection:change');
return;

View File

@ -51,10 +51,10 @@ define(
return;
}
e.ctrlKey = e.ctrlKey || e.metaKey;
e.ctrl = e.ctrlKey || e.metaKey;
// 全选
if (65 === e.keyCode && e.ctrlKey) {
if (65 === e.keyCode && e.ctrl) {
e.preventDefault();
e.stopPropagation();
}
@ -67,7 +67,7 @@ define(
});
}
// 保存
else if (83 === e.keyCode && e.ctrlKey) {
else if (83 === e.keyCode && e.ctrl) {
e.preventDefault();
e.stopPropagation();
if (e.shiftKey) {
@ -80,7 +80,7 @@ define(
}
}
// 粘贴
else if ((86 === e.keyCode && e.ctrlKey)) {
else if ((86 === e.keyCode && e.ctrl)) {
e.preventDefault();
e.stopPropagation();
me.fire('paste');

View File

@ -70,7 +70,7 @@ define(
}
/**
* 鼠标动作捕获器
* 键盘动作捕获器
*
* @constructor
* @param {HTMLElement} main 控制元素