selectNode()在IE8中不起作用

时间:2011-03-04 08:22:37

标签: tinymce range

我需要在微小的mce中选择一个节点,我正在尝试使用代码。它适用于非IE浏览器,但在IE上它给出错误 -    错误:对象不支持此属性或方法

代码 -

              rng = ed.selection.getRng();
              rng.selectNode(tn);

第二行导致错误。是否还有其他IE兼容方法?

2 个答案:

答案 0 :(得分:0)

原因是您得到的范围对象不同。在FF中,您将获得一个对象,它为您提供了多个函数,如selectNode()。 IE范围仅显示一个仅包含属性的textrange对象。

解决方案很简单:

// true is important here - causes getRng to return a DOM Range and not a text range (IE)
rng = ed.selection.getRng(true);
rng.selectNode(tn);

答案 1 :(得分:0)

我读到了TextRange对象,并且能够按照我的意图行事。我想把光标放在一个范围内。我可以使用TextRange对象属性和方法来完成它,如下所示 -

range.moveToElementText (node); //node is  the span in which I wanted to place my cursor
range.select ();

moveToElementText - 将当前TextRange对象的起点和终点与指定元素的文本内容对齐。我加了一个;通过我的插入符号到上面的代码可以替换它。