Шаблон: Как остановить распространение ключевых событий в Аурелии?
<template>
<input keydown.delegate='onKeydown($event)' keyup.delegate='onKeyup($event)'/>
</template>
The View Модель:
export class MyInput {
onKeydown(e) {
e.stopPropagation();
// return false; // this does't matter as it only prevents default
}
onKeyup(e) {
console.log(e); // will still fire even [stopPropagation] was called
}
}
Ожидаемое поведение это было бы: onKeyup
не срабатывает, но я не получаю это ни на что.
Как прекратить распространение ключевых событий в Аурелии?
на основе Эшли Грант ответ: Это ожидаемое поведение. 'stopPropagation' действительно остановит его от распространения верхнего уровня. Чтобы остановить 'keyup', чтобы произойти на том же элементе, используйте' stopImmediatePropagation' [MDN: Event.stopImmediatePropagation] (https://developer.mozilla.org/en-US/docs/Web/API/Event/ stopImmediatePropagation) – bigopon