JavaScript-Javascript 双击选中单词时获取选中单词的内容

发布于 2016-10-30 09:06:26 字数 123 浏览 1326 评论 1

双击的时候如何获取选中的内容

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灵芸 2017-10-01 01:57:11

做了一个简单的demo,你可以看下效果,应该是你想要的:

http://jsbin.com/afuqur/1/

关键代码:

(function($){
    $.fn.extend({
        "selectText":function(value){
            value=$.extend({
                "delays":300
                },value);
                
            var $this = $(this);
            
            //鼠标抬起进,获取选择文字的字数。并根据字数,是否显示弹出层
            $this.mouseup(function(event){
                
                //IE和火狐兼容性的处理函数。
                function selectText(){
                    if(document.selection){
                        return document.selection.createRange().text;// IE
                    }else{
                        return  window.getSelection().toString(); //标准
                    }
                }
                
                var str = selectText();
                
                var l = event.clientX;
                var t = event.clientY;
                
                if(str.length > 0){
                    $this.next("div").html(str).css({"top":t+10,"left":l+10}).delay(value.delays).fadeIn();
                }
            });
            
            //点击文档任何位置,让显示的层消失
            $(document).click(function(){
                $this.next("div").fadeOut();
            })  
            
            //阻止冒泡,防止第一次选中文字时,由于冒泡,而触发了$(document).click事件  
            $this.click(function(event){
                event.stopPropagation();
            });

            return $this;
        }   
    })  
})(jQuery)<、pre>

HTML:

<!DOCTYPE html>
<html>
<head>
<meta name="description" content="[add your bin description]" />
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <p class="sel" >这是一段测试文字
..................
 </p>
 <div class="tip"></div>
</body>
</html>

示例代码也 可以在这里查看

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文