|
@@ -19,11 +19,7 @@ const keyCodes = {
|
|
|
const modifierCode = {
|
|
const modifierCode = {
|
|
|
stop: '$event.stopPropagation();',
|
|
stop: '$event.stopPropagation();',
|
|
|
prevent: '$event.preventDefault();',
|
|
prevent: '$event.preventDefault();',
|
|
|
- self: 'if($event.target !== $event.currentTarget)return;'
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-const isMouseEventRE = /^mouse|^pointer|^(click|dblclick|contextmenu|wheel)$/
|
|
|
|
|
-const mouseEventModifierCode = {
|
|
|
|
|
|
|
+ self: 'if($event.target !== $event.currentTarget)return;',
|
|
|
ctrl: 'if(!$event.ctrlKey)return;',
|
|
ctrl: 'if(!$event.ctrlKey)return;',
|
|
|
shift: 'if(!$event.shiftKey)return;',
|
|
shift: 'if(!$event.shiftKey)return;',
|
|
|
alt: 'if(!$event.altKey)return;',
|
|
alt: 'if(!$event.altKey)return;',
|
|
@@ -53,12 +49,9 @@ function genHandler (
|
|
|
} else {
|
|
} else {
|
|
|
let code = ''
|
|
let code = ''
|
|
|
const keys = []
|
|
const keys = []
|
|
|
- const isMouseEvnet = isMouseEventRE.test(name)
|
|
|
|
|
for (const key in handler.modifiers) {
|
|
for (const key in handler.modifiers) {
|
|
|
if (modifierCode[key]) {
|
|
if (modifierCode[key]) {
|
|
|
code += modifierCode[key]
|
|
code += modifierCode[key]
|
|
|
- } else if (isMouseEvnet && mouseEventModifierCode[key]) {
|
|
|
|
|
- code += mouseEventModifierCode[key]
|
|
|
|
|
} else {
|
|
} else {
|
|
|
keys.push(key)
|
|
keys.push(key)
|
|
|
}
|
|
}
|
|
@@ -74,8 +67,7 @@ function genHandler (
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function genKeyFilter (keys: Array<string>): string {
|
|
function genKeyFilter (keys: Array<string>): string {
|
|
|
- const code = keys.map(genFilterCode)
|
|
|
|
|
- return `if(${code.join('&&')})return;`
|
|
|
|
|
|
|
+ return `if(${keys.map(genFilterCode).join('&&')})return;`
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function genFilterCode (key: number | string): string {
|
|
function genFilterCode (key: number | string): string {
|