【问题标题】:Rangy & ContentEditable - Set the CaretRangy & ContentEditable - 设置插入符号
【发布时间】:2011-10-12 13:33:26
【问题描述】:

我正在尝试使用最新版本的“rangy”jQuery 插件(1.2 测试版)将插入符号设置在具有特定偏移量的可内容编辑 DIV 中。

但是,它在 Firefox 中响应一个奇怪的错误: 安全错误”代码:“1000

这是有问题的代码:

var el = $("#editablediv"), index = 11;
var range = rangy.createRange();
range.setStart(el, index);
var sel = rangy.getSelection();
sel.setSingleRange(range);

调用setStart函数时代码失败。

谁能举一个正确使用rangy的例子吗?

【问题讨论】:

  • 这是安全错误”代码:“1000,但我已排序。它需要一个文本节点。

标签: jquery contenteditable rangy


【解决方案1】:

我发现了问题,我应该通过正确的节点,即文本节点:

var el = $("#editablediv"), index = 11;
var range = rangy.createRange();
range.setStart(el[0].childNodes[0], index);
range.collapse(true);
var sel = rangy.getSelection();
sel.setSingleRange(range);

【讨论】:

  • 是的。原始代码存在两个问题:首先,setStart() 需要 DOM 节点而不是 jQuery 对象,其次,您可能在考虑字符偏移量,这意味着您需要文本节点,正如您所意识到的。跨度>
猜你喜欢
  • 2012-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-31
  • 2011-06-17
  • 2013-04-12
相关资源
最近更新 更多