我有一段时间有一个奇怪的错误。我制作了一个插件,可以在TinyMCE中插入图像。它工作得很好,但是在我插入图像后的一段时间内,编辑器中的所有图像(包括插入的图像)都被“选中”(鼠标悬停时出现蓝色叠加),因此无法调整大小(调整大小句柄)不会出现。
这样做的另一个影响是,在缩略图上方显示右键单击实际尺寸的图像(我正在使用缩略图 - >调整的img标签的宽度和高度)。当我再次右击它时,它消失了。
但是,如果我保存内容,关闭编辑器,打开一个新内容,然后加载保存的内容,它就会正常运行。
我不知道该怎么做,因为我没有在CSS或Javascript中看到原因,也没有找到相关信息。任何帮助将不胜感激。
这是我用来插入图片的代码:
function openImagePlugin() {
storeBookmark();
//open popup...
}
function insertImageInEditor(image) {
var html = '<img onclick="alert(1)" src="' + image.src + '" style="width:' + image.width + 'px;height:' + image.height + 'px;"/>';
restoreBookmark();
tinyMCE.execInstanceCommand("editor", "mceInsertContent", false, html);
}
var editorBookmark = false;
function storeBookmark() {
var ed = tinyMCE.get("editor");
try {
if (ed.selection !== undefined) {
editorBookmark = ed.selection.getBookmark();
}
} catch (e) {
}
}
function restoreBookmark() {
var ed = tinyMCE.get("editor");
try {
if (ed.selection !== undefined) {
ed.selection.moveToBookmark(editorBookmark);
}
} catch (e) {
}
}
书签内容是因为带有图像上传器的弹出窗口从编辑器中获取焦点,如果没有它,则会在编辑器的开头插入图像。
答案 0 :(得分:1)
这解决了它:
tinyMCE.get("editor").selection.getSel().removeAllRanges();
插入图像后立即。这是一个黑客,因为正确的解决方案是阻止选择出现。