我有一个contenteditable div,它需要集中在pageload上(将光标放在第一行)。
document.getElementById("editor").focus()在Firefox和IE中效果很好,但是在Chrome/Safari中,它只是选择了全部内容!

有没有办法使它正常工作?

提前致谢,
舍什

最佳答案

这个问题可能不再与提问者相关,但我将为以后的读者解答。基本原理是在元素开始处将选择设置为折叠范围。

我通过使用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还提供了大量额外的实用程序,因此可能值得研究:)

关于html - Chrome/Safari中的ContentEditable焦点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3904149/

10-11 11:20