使用Firefox防止在SCEditor(MyBB)中拖放

时间:2018-02-16 09:09:57

标签: javascript firefox drag-and-drop mybb sceditor

我有一个MyBB论坛,默认情况下SCEditor包含WYSIWYG编辑器。

SCEditor不是专为拖放而设计的,因此对于IE,Safari和Chrome,如果您尝试将图像拖到字段中,整个页面将被图像替换(对我来说没问题)。

但是使用Firefox,图像适合该字段,这表明该消息将随之显示,但最终图片被翻译为base64与bbcode不兼容。 图像不会显示,而是有大量代码。

能够拖放工作会很好但我不想在base64中存储图像所以我只想阻止Firefox在此字段中删除图片。 我根本不需要拖放,所以它可以完全禁用。也许用jquery?

抱歉,我无法访问论坛,但您可以在此处查看SCEditor演示:https://www.sceditor.com

1 个答案:

答案 0 :(得分:0)

如果您不允许在页面上的任何位置拖放(我假设没有其他地方可以删除文件),您可以添加此JS以防止它:

function preventDefault(e) { e.preventDefault() }

// Prevent drag drop on page
document.body.addEventListener('dragover', preventDefault);
document.body.addEventListener('drop', preventDefault);

// Prevent drag drop inside editor
if (window.MyBBEditor && MyBBEditor.getBody) {
    instance.getBody().addEventListener('dragover', preventDefault);
    instance.getBody().addEventListener('drop', preventDefault);
}

您需要确保在创建编辑器后调用它。