gpt4 book ai didi

javascript - 从用户选择的文本中返回 HTML

转载 作者:行者123 更新时间:2023-12-03 12:22:09 25 4
gpt4 key购买 nike

我有以下非常简单的 html 页面:

<html>
<head>
<script type="text/javascript">
function alertSelection()
{
var selection = window.getSelection();
var txt = selection.toString();
alert(txt);
}
</script>
</head>
<body>
This is <span style="background-color:black;color:white">the</span> text.
<div style="background-color:green;width:30px;height:30px;margin:30px"
onmouseover="alertSelection()">
</body>
</html>
当我选择整个第一行并将鼠标悬停在正方形上时,我会收到“这是文本。”的警报。
我将如何解决此问题,以便不会从警报消息中删除 span 标签或任何其他选定的 HTML?
编辑:我正在寻找如何从 window.getSelection() 获取完整的 HTML .警报对话框正是我尝试验证代码的方式。我只关心在 Safari 中的工作。

最佳答案

这是一个函数,它将为您提供与所有主要浏览器中当前选择相对应的 HTML:

function getSelectionHtml() {
var html = "";
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
if (sel.rangeCount) {
var container = document.createElement("div");
for (var i = 0, len = sel.rangeCount; i < len; ++i) {
container.appendChild(sel.getRangeAt(i).cloneContents());
}
html = container.innerHTML;
}
} else if (typeof document.selection != "undefined") {
if (document.selection.type == "Text") {
html = document.selection.createRange().htmlText;
}
}
return html;
}

alert(getSelectionHtml());

关于javascript - 从用户选择的文本中返回 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4652734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com