Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 从mat芯片解除绑定键盘事件?_Html_Angular_Typescript_Angular Material - Fatal编程技术网

Html 从mat芯片解除绑定键盘事件?

Html 从mat芯片解除绑定键盘事件?,html,angular,typescript,angular-material,Html,Angular,Typescript,Angular Material,我需要能够在mat芯片中编辑内容 这个过程在HTML中非常简单: 可编辑内容 您可以正确编辑内容,但不能使用[delete]或[BACKSPACE]将其删除。但是,您可以剪切内容(使用剪贴板)。我认为这是由于mat芯片处理键盘事件的方式。从中,它在“删除”方法上指示: 允许以编程方式移除芯片。在以下情况下由MatChipList调用 按DELETE键或BACKSPACE键。“ 那么,有没有办法从mat芯片上解除这些事件的绑定,这样我就可以使用这些键编辑内容了?反正我不想让芯片通过键盘删除 我

我需要能够在mat芯片中编辑内容

这个过程在HTML中非常简单:

可编辑内容

您可以正确编辑内容,但不能使用[delete]或[BACKSPACE]将其删除。但是,您可以剪切内容(使用剪贴板)。我认为这是由于mat芯片处理键盘事件的方式。从中,它在“删除”方法上指示:

允许以编程方式移除芯片。在以下情况下由MatChipList调用 按DELETE键或BACKSPACE键。“

那么,有没有办法从mat芯片上解除这些事件的绑定,这样我就可以使用这些键编辑内容了?反正我不想让芯片通过键盘删除

我尝试使用[removable]=“false”,但没有任何效果(参见stackblitz)


我想也许我可以禁用所有键盘交互,但在上一节中似乎没有任何方法可以这样做。

您可以通过在mat芯片内容中添加按键处理程序来拦截冒泡按键事件

您的模板:

<mat-chip>
   <div class="input-wrapper" (keypress)="onMatChipKeyPress($event)">
      <input placeholder="Here you type in some content and press backspace or other keys">
   </div>
</mat-chip>
我不得不使用(keydown),因为(keypress)仍然阻止了来自退格键和空格键的输入。
onMatChipKeyPress(event) {
   event.stopImmediatePropagation();
}