如果用户使用光标突出显示<h1>
内的文本,我该如何获取该<h1>
个对象?或者,如果他们在<li>
中选择了文字,我该如何获得<li>
?
答案 0 :(得分:3)
您可以选择Document as,
dd = window.getSelection();
desiredElement = dd.focusNode.parentNode; // h1 or li or other
desiredTag = desiredElement.tagName; // its tagname
快乐编码。
答案 1 :(得分:1)
答案 2 :(得分:0)
$('h1').click(function(){
alert(this); // `this` is the <h1> object clicked.
});
在你的问题中我错过了一些棘手的部分吗?
答案 3 :(得分:0)
您可以在所有现代主流浏览器中获取选择的父元素,如下所示。请记住,Firefox目前默认允许多种选择;此代码仅使用第一个。
另见我的回答:How can I get the DOM element which contains the current selection?
function getSelectionContainerElement() {
var sel, el;
if (window.getSelection) {
sel = window.getSelection();
if (sel.getRangeAt) {
if (sel.rangeCount) {
el = sel.getRangeAt(0).commonAncestorContainer;
return (el.nodeType == 3) ? el.parentNode : el;
}
} else {
// This happens in old versions of Safari. A workaround
// exists, if you need it
}
} else if (document.selection && document.selection.createRange) {
return document.selection.createRange().parentElement();
}
}