Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE所见即所得编辑器_Javascript_Javascript Events - Fatal编程技术网

Javascript IE所见即所得编辑器

Javascript IE所见即所得编辑器,javascript,javascript-events,Javascript,Javascript Events,我想制作一个新的WYSIWYG编辑器,在其中我使用了打开设计模式的Iframe,我想做一些类似的事情-当用户选择一个文本并单击一个图像按钮时,图像应该在文本的背景中,并且图像应该是切换的InsertHTML命令在IE中不起作用,IE的TextRange对象有一个方便的pasteHTML()方法,您可以使用它来代替 现场演示: 代码: 函数getSelectedText(){ var selectedText=“”,sel; if(window.getSelection){ selectedTex

我想制作一个新的WYSIWYG编辑器,在其中我使用了打开设计模式的Iframe,我想做一些类似的事情-当用户选择一个文本并单击一个图像按钮时,图像应该在文本的背景中,并且图像应该是切换的
InsertHTML
命令在IE中不起作用,IE的
TextRange
对象有一个方便的
pasteHTML()
方法,您可以使用它来代替

现场演示:

代码:

函数getSelectedText(){ var selectedText=“”,sel; if(window.getSelection){ selectedText=”“+window.getSelection(); }else if((sel=document.selection)和&sel.type==“Text”){ selectedText=sel.createRange().text; } 返回所选文本; } var sel,html='' +getSelectedText()+“”; 如果((sel=文件选择)&&sel.type!=“控制”){ sel.createRange().pasteHTML(html); }否则{ document.execCommand(“InsertHTML”,false,html); } 。。。在IE中,它不起作用……:那你试过什么?我们可以帮助你,如果我们有一点编码的背景。
function getSelectedText() {
    var selectedText = "", sel;
    if (window.getSelection) {
        selectedText = "" + window.getSelection();
    } else if ( (sel = document.selection) && sel.type == "Text") {
        selectedText = sel.createRange().text;
    }
    return selectedText;
}

var sel, html = '<span style="background-image: url(foo.png)">'
         + getSelectedText() + "</span>";

if ( (sel = document.selection) && sel.type != "Control") {
    sel.createRange().pasteHTML(html);
} else {
    document.execCommand("InsertHTML", false, html);
}