【发布时间】:2021-12-11 08:35:39
【问题描述】:
我有一个图像模式,用户可以在其中上传或粘贴图像。 两者都工作得很好,除了目前我有捕捉焦点的模态按钮,所以粘贴只能通过手动单击按钮外部进行。如果此组件具有焦点,或者组件内的任何内容具有焦点,我希望任何粘贴都可以工作。
<div onPaste="onPaste()">
<button class="__cancel" aria-label="Close" onClick="onClickCancel()">
<button ... upload .../>
</div>
有没有办法让粘贴动作通过按钮?
这实际上是一个角度应用程序,所以下面更接近我的实际代码:
<div (paste)="onPaste($event)" cdkTrapFocusAutoCapture cdkTrapFocus>
<button class="__cancel" aria-label="Close" (onClick)="onClickCancel()">
<button ... upload .../>
</div>
我尝试将粘贴方法添加到按钮,但它们不会触发。
<div (paste)="onPaste($event)" cdkTrapFocusAutoCapture cdkTrapFocus>
<button class="__cancel" aria-label="Close" (onClick)="onClickCancel()" (paste)="onPaste($event)">
<button ... upload (paste)="onPaste($event)".../>
</div>
谢谢
【问题讨论】:
-
Paste 事件确实适用于所有元素,但有些需要将 contenteditable 设置为 true。不然帖子不是很清楚
-
@Vega 谢谢。那解决了它。如果您想将其发布为解决方案,我会接受。
-
@Vega,奇怪,这对我有用,但对周围的 div 没有内容可编辑。只有当按钮具有焦点时才会被阻止。
标签: javascript angular typescript dom-events onpaste