我有一个令人满意的div,需要关注页面加载(将光标放在第一行)。
document.getElementById("editor").focus()
在Firefox和IE中运行良好,但在Chrome / Safari中它只选择整个内容!
有没有办法让这项工作正常进行?
提前致谢,
Shesh
答案 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()