我想知道iframe
designMode = 'on'
中插入符号的父元素是什么。
原因是想知道当前用户是否正在输入p
标签。
答案 0 :(得分:2)
这是执行此操作的功能,改编自an answer to a similar question:
function getSelectionBoundaryElement(win, isStart) {
var range, sel, container = null;
var doc = win.document;
if (doc.selection) {
// IE branch
range = doc.selection.createRange();
range.collapse(isStart);
return range.parentElement();
} else if (win.getSelection) {
// Other browsers
sel = win.getSelection();
if (sel.rangeCount > 0) {
range = sel.getRangeAt(0);
container = range[isStart ? "startContainer" : "endContainer"];
// Check if the container is a text node and return its parent if so
if (container.nodeType === 3) {
container = container.parentNode;
}
}
}
return container;
}
使用示例:
var iframe = document.getElementById("your_iframe_id");
var caretElement = getSelectionBoundaryElement(iframe.contentWindow, true);