失去焦点的时候保存光标位置 即克隆一个Range。因为失去焦点以后Range的一些属性会发生改变。所以备份一下。 text.onblur = function(){ range = document.getSelection().getRangeAt(0).cloneRange(); } 合适的时候恢复光标位置 document.getSelection().removeAllRanges(); //把没用的Ranges删除 document.getSelection().addRange(range); //恢复Range