ContentEditable专注于Chrome / Safari

时间:2010-10-11 07:11:05

标签: html google-chrome safari contenteditable

我有一个令人满意的div,需要关注页面加载(将光标放在第一行)。

document.getElementById("editor").focus()在Firefox和IE中运行良好,但在Chrome / Safari中它只选择整个内容!

有没有办法让这项工作正常进行?

提前致谢,
Shesh

2 个答案:

答案 0 :(得分:2)

这个问题可能不再与提问者有关,但我会为将来的读者回答这个问题。基本原则是将选择设置为元素开头的折叠范围。

我使用Rangy JS库解决了这个问题:http://code.google.com/p/rangy

var r = rangy.createRange();
r.setStart( document.getElementById('editor'), 0 );
r.collapse(true);
rangy.getSelection().setSingleRange(r);

这可能不仅仅是必要的,但它肯定适用于跨浏览器,Rangy提供了一堆额外的实用工具,所以它可能值得研究:)

答案 1 :(得分:0)

我能够通过调用链接到attr()方法的focus()方法将焦点添加到DIV

$el.attr('contenteditable', "true").focus()