//获得富文本框中光标的位置 function getCursortPosition(element) { var doc = element.ownerDocument || element.document; var win = doc.defaultView || doc.parentWindow; var sel; if (typeof win.getSelection != "undefined") { sel = win.getSelection(); if (sel.rangeCount > 0) { var range = win.getSelection().getRangeAt(0); console.log(range); } } return range; } //element为富文本挂载的dom元素,返回的range为光标对应的位置
备注:如果调用range的insertNode方法,可以在光标对应的位置插入想要的dom元素,但是这里要注意的是,insertNode方法会把你插入的dom元素,里面父子关系的节点元素循环成兄弟节点插入到光标位置。