@orca-fe/tools
Version:
front-end tools
57 lines (56 loc) • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isCopy = isCopy;
exports.isCtrlOnly = isCtrlOnly;
exports.isCut = isCut;
exports.isDelete = isDelete;
exports.isMac = isMac;
exports.isPaste = isPaste;
exports.isShiftOnly = isShiftOnly;
exports.isSingleKey = isSingleKey;
/** * 是否为mac系统(包含iphone手机) * */
function isMac() {
return /macintosh|mac os x/i.test(navigator.userAgent);
}
function isSingleKey(event) {
var metaKey = event.metaKey,
ctrlKey = event.ctrlKey,
altKey = event.altKey,
shiftKey = event.shiftKey;
var singleKey = !ctrlKey && !shiftKey && !altKey && !metaKey;
return singleKey;
}
function isShiftOnly(event) {
var metaKey = event.metaKey,
ctrlKey = event.ctrlKey,
altKey = event.altKey,
shiftKey = event.shiftKey;
var shiftOnly = shiftKey && !ctrlKey && !altKey && !metaKey;
return shiftOnly;
}
function isCtrlOnly(event) {
var metaKey = event.metaKey,
ctrlKey = event.ctrlKey,
altKey = event.altKey,
shiftKey = event.shiftKey;
var ctrlOnly = !shiftKey && !altKey && (isMac() ? metaKey && !ctrlKey : ctrlKey && !metaKey);
return ctrlOnly;
}
function isCut(event) {
var ctrlOnly = isCtrlOnly(event);
return ctrlOnly && event.key === 'x';
}
function isCopy(event) {
var ctrlOnly = isCtrlOnly(event);
return ctrlOnly && event.key === 'c';
}
function isPaste(event) {
var ctrlOnly = isCtrlOnly(event);
return ctrlOnly && event.key === 'v';
}
function isDelete(event) {
var singleKey = isSingleKey(event);
return singleKey && event.key === 'Delete' || event.key === 'Backspace' && isMac();
}