HTML 代码片段:
<div contenteditable='true' id="txt">123<b>456</b>789</div>
<button onclick="get()">Click Me</button>
<span onclick="get()">Click Me</span>
<script>
function get(){
document.getElementById('txt').focus()
}
</script>
单击名为 的节点
txt
,将光标设置在前面7
,然后单击按钮。
观察 div 的光标位置。单击名为 的节点
txt
,将光标设置在前面7
,然后单击 Span。
观察 div 的光标位置
对比div的光标位置,
你会发现Button
点击事件并没有改变div原来的光标位置。
但是Span
点击事件确实如此。
这真的很奇怪,所以这里发生了什么?
(我的测试基于 WebKit 浏览器。)