javascript - 选择一些文本后,应该会出现一个新的跨度(仅限 Javascript + CSS)

标签 javascript html css

是否可以在 DIV 中选择一些文本并在选择后立即(即在释放鼠标按钮后立即)一个 SPAN 出现在所选文本旁边。我不喜欢使用 jQuery - 如果可能,只使用 Javascript + CSS。

附言。理想情况下,应该可以在同一个 DIV 中选择多次,并且跨度应该只出现在最新的选择中(并从之前的选择中消失)。

选择前

<div>Some text to select</div>

选择后

<div>Some text to select <span>[selected!]</span></div>

最佳答案

使用已回答问题中的代码 HERE ,我设法为您找到了解决方案。

HTML:

一些测试文本供您选择

Javascript:

function getSelectedText() {
    var text = "";
    if (typeof window.getSelection != "undefined") {
        text = window.getSelection().toString();
    } else if (typeof document.selection != "undefined" && document.selection.type == "Text") {
        text = document.selection.createRange().text;
    }
    return text;
}

function doSomethingWithSelectedText() {
    var selectedText = getSelectedText();
    if (selectedText) {
        document.getElementById('selectedSpan').innerHTML = selectedText;
    }
}

document.onmouseup = doSomethingWithSelectedText;
document.onkeyup = doSomethingWithSelectedText;

HERE IS AN EXAMPLE

关于javascript - 选择一些文本后,应该会出现一个新的跨度(仅限 Javascript + CSS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23598455/

相关文章:

javascript - 如何解决JavaScript函数中的导入错误

javascript - 在哪里编码以覆盖 backbone.sync

javascript - "Uncaught ReferenceError: AutoResize is not defined"

jquery - 使用 jquery 更改 css 规则

html - 带输入的下拉菜单

php - 单击提交时 Codeigniter 无法更新表单

css - 是否有避免 FOUT 的字符(用于 icomoon)?

javascript - 在 react 中安装后如何设置元素的状态?

javascript - window.requestFileSystem 不工作

html - 使用 vb.net 生成 HTML 文件