劫持事件不适用于ngSelect的关键事件

时间:2017-09-20 10:28:54

标签: angular

我正在尝试在keyup事件上处理Shiftkey。

在组件的host:选择器中添加了这个:

"(keyup)": "onKeyUp($event)",

添加了事件监听器,如下所示:

onKeyUp(event: KeyboardEvent): void {
    if (event.which === 16) {
        event.stopImmediatePropagation();
        event.stopPropagation();
        event.preventDefault();
        event.returnValue = false;
        window.event.stopPropagation();
    }
}

但事件仍在传播并输入与ngSelect中的shift键等效的字符。

1 个答案:

答案 0 :(得分:0)

您只需使用keydown.shift而不是编写函数:

<input (keydown.shift)="$event.preventDefault()">

如果您真的想使用该功能,请更改以下内容以使用keydown

"(keydown)": "onKeyUp($event)",