`

js获取选中内容

 
阅读更多

 现在很多网站,特别是比较大的网站,都有这样的功能:选中一段文字,在鼠标附近自动显示一个按钮,用于发布微博等消息。

查了一下,通过window.getSelection()方法或document.getSelection()方法,可以获得选中的文字内容。

 

window.getSelection() 只能在高版本的ie或FireFox,Chrome中使用。

document.getSeletion()只有ie中用。

但是实际使用中,发现Chrome两个都支持。

 

说明:getSelection()方法返回的对象,并不是选中的字符串,而是一个选中的dom元素。

可以通过toString()方法,即可显示选中的文字。

 

例:没事写了个例子。鼠标选中一段文字,自动显示选中的文字。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function(){
    $(document).click(function(){
        var selectText = window.getSelection();
		$("#selectContent").html(selectText.toString());
    });

});
</script>
</head>
<body>
<div>123123123123123123123123hiuashdfiuahsufisdafohasuidf</div>
<div>选中内容</div>
<div id = "selectContent"></div>
</body>
</html>

 

 

 

以下是网上找到的方法,貌似比较靠谱:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>无标题页</title>
    <script type="text/javascript">
    function getSelect()
    {
        if(window.getSelection)
        {
            alert(window.getSelection());
        }
        else
        {
            alert(document.selection.createRange().text);
        }
        
    }
    </script>
</head>
<body>
<div>asdlfjawefo;awejgoawemfaowcmzxvczo<b>asdfwe3wg2222</b>xcvaowdfijq9p23rjq023jrq23r</div>
<input type="button" value="获 取" onclick="getSelect();" />
</body>
</html>

 

即,获取选中的代码的通用写法:

var word = window.getSelection ? window.getSelection().toString() : document.selection.createRange().text;

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics