|
@@ -40,6 +40,14 @@ export default function on (el, event, modifiers, callback) {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (modifiers.includes('once')) {
|
|
|
|
+ handler = wrapHandler(handler, (next, e) => {
|
|
|
|
+ next(e)
|
|
|
|
+
|
|
|
|
+ listenerTarget.removeEventListener(event, handler, options)
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
// Handle :keydown and :keyup listeners.
|
|
// Handle :keydown and :keyup listeners.
|
|
handler = wrapHandler(handler, (next, e) => {
|
|
handler = wrapHandler(handler, (next, e) => {
|
|
if (isKeyEvent(event)) {
|
|
if (isKeyEvent(event)) {
|
|
@@ -65,14 +73,6 @@ export default function on (el, event, modifiers, callback) {
|
|
handler = throttle(handler, wait)
|
|
handler = throttle(handler, wait)
|
|
}
|
|
}
|
|
|
|
|
|
- if (modifiers.includes('once')) {
|
|
|
|
- handler = wrapHandler(handler, (next, e) => {
|
|
|
|
- next(e)
|
|
|
|
-
|
|
|
|
- listenerTarget.removeEventListener(event, handler, options)
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
listenerTarget.addEventListener(event, handler, options)
|
|
listenerTarget.addEventListener(event, handler, options)
|
|
|
|
|
|
return () => {
|
|
return () => {
|