tengo un div:
<div class="paste-area-content" #pasteDiv contenteditable="true" (paste)="onPaste($event)" (input)="unsupportedBrowserPaste()"> </div> Si el foco está en él y presiono Ctrl + V , luego llamo a la función onPaste con un ClipboardEvent y etc., la imagen del portapapeles aparece en el div .
Ahora me gustaría usar un <button> para hacer el mismo proceso. Así que pensé en simular la keypress de tecla cuando se hace clic en el botón y enviar KeyboardEvent al div.
Probé muchas soluciones similares, pero ninguna funcionó o simplemente están obsoletas. El último intento fue:
var event = new KeyboardEvent('keypress', { bubbles: true, cancelable: true, ctrlKey: true, key : "v", code : "86" }); this.printedArticleImagePasteComponent.simulatePaste(event); public simulatePaste(event: KeyboardEvent) { this.pasteDiv.nativeElement.dispatchEvent(event); }No funciona, por supuesto. ¿Cómo es posible solucionar esto?
La segunda idea fue: obtener la imagen del portapapeles, crear un ClipboardEvent manualmente, configurar ClipboardEvent.clipboardData.items . Pero window.clipboardData.getData no funciona.