Android Chrome和带QuillJS的WebView,原生上下文菜单会阻止工具栏吗?

时间:2018-02-07 09:32:29

标签: android google-chrome webview toolbar quill

我正在使用QuillJS编辑器(真棒!)用于多平台论坛网络应用程序,我正在尝试用Android的webview解决问题(同样的事情发生在Chrome应用程序中)。基本上,当我长按以在帖子的顶行选择一些文本时,原生上下文菜单会覆盖Quill工具栏。

enter image description here

我已经在编辑器元素中添加了css padding-top以在下一个屏幕截图中获得结果,但是当没有上下文菜单时,在编辑区域的顶部有空白空间看起来很奇怪。

enter image description here

我发现的其他事情:您无法向下拖动上下文菜单,在其外部点击或按后退按钮取消选择文本。您可以通过处理oncontextmenu事件来保持上下文菜单不显示,但是无法剪切/复制/粘贴。

还有其他选择吗?如果Quill工具栏有剪切/复制/粘贴选项,这将是很酷的,这将允许我只是禁止编辑器div的上下文菜单,但我找不到这样的选项。

1 个答案:

答案 0 :(得分:1)

回答我自己的问题。

我更改了弹出窗口的方向,使其位于所选文本的下方。这是初始化脚本:

<!-- Initialize Quill editor -->
<script>
    var quill = new Quill('#editor-container', {
        modules: {
            toolbar: [
                ['bold'],
                ['italic'],
                [{ 'color': [] }],
                [{ size: ['small', false, 'large', 'huge'] }],
                ['image'],
                ['link']
            ]
        },
        placeholder: '(type your message here)',
        theme: 'bubble'  // 'snow' or 'bubble'
    });
    quill.on('text-change', function (delta, oldDelta, source) {
        if (source === 'api') {
            console.log("An API call triggered this change.");
        } else if (source === 'user') {
            console.log("A user action triggered this change.");
        }
        var htmlContent = quill.root.innerHTML;
        $('#body').val(htmlContent);
    });
    window.onload = function () {
        quill.focus();
    };
</script>