我已经成功地使用Quill创建了扩展Embed印迹的自定义blot。我的印迹包含一个文本输入字段和一个按钮。
当我将光标放在文本输入中并试图粘贴一些文本时,文本就会被粘贴到Quill编辑器中,就在我的污点之外。
我知道剪贴板模块处理粘贴,我已经检查了模块,但我不知道如何继续。
我的想法是检测何时焦点在编辑器中的任何输入元素上。如果是,剪贴板模块应该被禁用,或者允许正常的粘贴行为。
我最初的想法是注册我自己的扩展剪贴板模块并在那里进行检测。但是,我不知道如何指示剪贴板退出并让正常的粘贴行为执行。
如有任何指导,将不胜感激!
发布于 2018-05-11 12:00:51
我也一直面临着同样的问题。您必须创建自己的Keyboard模块,通过重写onPaste方法来扩展默认模块以防止这种情况发生。
以下是我所用的:
import Quill from 'quill'
const QuillClipboard = Quill.import('modules/clipboard')
export default class Clipboard extends QuillClipboard {
onPaste (event) {
// Contenteditables, inputs and textarea are embeded into rich elements
// Do not capture the copy paste with Quill
if (['DIV', 'INPUT', 'TEXTAREA'].indexOf(event.target.nodeName) !== -1) {
return
}
super.onPaste(event)
}
}
Quill.register('modules/clipboard', Clipboard, true)https://stackoverflow.com/questions/50274531
复制相似问题