DMEO:
运行如下页面,输入部分文字,选中部分,
之后在浏览控制台执行$(“#J_container”).html(“abcd”);
会发现控制台输出的startOffset 被设置为0
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script src="jquery.js"></script>
<style>
.container {
border: 1px solid gray;
}
</style>
</head>
<body>
<div class="container" contenteditable="true" id="J_container">
你好
</div>
<script>
function getCurrentRange() {
var sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
return sel.getRangeAt(0);
}
}
window.nowSelection = getCurrentRange();
setInterval(function(){
console.log(window.nowSelection);
},100)
setInterval(function(){
window.nowSelection = getCurrentRange();
},2000)
</script>
</body>
</html>