繁体   English   中英

仅从一个div获取所选文本

[英]Get selected text from only one div

我的页面上有很多表格和div。 其中一个带有一些文本。 在此div之后,页面还会有一个网址。

需要:-如果用户从div id =“ comment”中选择文本(div内以及该div内另一个div内的文本),则在按url后仅使用此文本获取警报(不带标签)。 -如果用户选择的不是div文本(不在div内的文本)-不执行任何操作。

我已经尝试过使用CSS使页面中的另一个DIV和表格无法选择(-moz-user-select:-moz-none; -khtml-user-select:none; -webkit-user-select:none; -o- user-select:none; user-select:none;“,但这不是我要搜索的方式...所需的javascript。

<html>
<head><title>1</title></head>
<body>
    <script type="text/javascript">

        function getSelectedval(){

            var txt = '';
            if (window.getSelection) {
                txt = window.getSelection();
            } else if (document.getSelection) {
                txt = document.getSelection();
            } else if (document.selection) {
                txt = document.selection.createRange().text;
            }
            alert(txt);
        }
    </script>

    <div>hello my friend</div>
    <br/>
    <div id="comment">here is just a some text for testing <div id="text"><strong>this div inside div</strong></div> this selected value</div>
    <a href="javascript:getSelectedval()">url</a>
</body>
</html>

谢谢

function select() {

var flag = 0;
sel = window.getSelection();
for (var i = 0; i < sel.rangeCount; i++) {
    var s = sel.getRangeAt(i).startContainer.parentNode.id;
    var e = sel.getRangeAt(i).endContainer.parentNode.id;
    if (s == "a") flag = 1;
    if (flag = 1 && e == "a" || e == "child") flag = 2;
}

if (flag == 2) alert(sel);

}

document.getElementById("btn").addEventListener("click", function () {
select();
});

http://jsfiddle.net/gRYQR/2/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM