在可编辑的iframe(Firefox)中获取和设置插入符位置

4

我已经成功地在IE7上实现了这个功能,但是在FF上不行。有什么想法吗? 谢谢!

2个回答

3
var range= window.getSelection().getRangeAt(0);
alert('Current position: '+range.startOffset+' inside '+range.startContainer);
range.setStart(newParent, textOffset);
range.setEnd(newParent, textOffset);

2
这是我针对在Firefox中将光标移动到指定位置的OpenWYSIWYG解决方案,在将焦点设置为编辑器后:

focusEditor: function (n) {
    var editor = this.getEditorWindow(n);

    if (WYSIWYG_Core.isFF) {

        editor.document.body.focus();

        try {
            var sel = this.getSelection(n);
            var range = sel.getRangeAt(0);
            range.setStart(sel.anchorNode.childNodes[0], 1);
            range.setEnd(sel.anchorNode.childNodes[0], 0);
            sel.addRange(range);
        }
        catch (err) {
            //alert(err.description);
        }
    }
},

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接