该错误仅出现在 chrome 中(在 linux 64 位/ubuntu 13.04 下的 chrome 版本 28.0.1500.71 中测试),而不是 firefox(版本 22.0)。
问题是 chrome 中的 Window.getSelection() 报告选择索引 -1 不正确,因此在第一个和第二个字符之间单击鼠标会导致位置 0。它似乎将 :first-letter 样式的字符处理为不同的内部的dom元素。请参阅http://jsfiddle.net/c66kk/1/作为此 chrome 错误的证明:
<p class="initial">1234567890</p>
.initial:first-letter {
float: left;
font-size: 1.5em;
font-weight: bold;
}
$('p').click(function(){
console.log(window.getSelection());
});
有什么已知的解决方法吗?
上下文:我尝试为 aloha 编辑器修复此错误。我还报告了一个 chrome 错误:https ://code.google.com/p/chromium/issues/detail?id=266334