|
@@ -34,7 +34,11 @@ export function registerListener(component, el, event, modifiers, expression, ex
|
|
|
if (modifiers.includes('prevent')) e.preventDefault()
|
|
|
if (modifiers.includes('stop')) e.stopPropagation()
|
|
|
|
|
|
- runListenerHandler(component, expression, e, extraVars)
|
|
|
+ const returnValue = runListenerHandler(component, expression, e, extraVars)
|
|
|
+
|
|
|
+ if (returnValue === false) {
|
|
|
+ e.preventDefault()
|
|
|
+ }
|
|
|
|
|
|
if (modifiers.includes('once')) {
|
|
|
listenerTarget.removeEventListener(event, handler)
|
|
@@ -46,7 +50,7 @@ export function registerListener(component, el, event, modifiers, expression, ex
|
|
|
}
|
|
|
|
|
|
function runListenerHandler(component, expression, e, extraVars) {
|
|
|
- component.evaluateCommandExpression(e.target, expression, () => {
|
|
|
+ return component.evaluateCommandExpression(e.target, expression, () => {
|
|
|
return {...extraVars(), '$event': e}
|
|
|
})
|
|
|
}
|