我有一个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/