【问题标题】:Target entire body when using select使用选择时瞄准整个身体
【发布时间】:2016-05-06 06:02:19
【问题描述】:

我正在制作一个网页,我想获得突出显示的文本。问题是,当用户在页面中的任何位置突出显示文本时,我想做一些事情。

我有这个

$("body").select( function (e) { 
        alert("You selected: "+window.getSelection());
    });

这里https://jsfiddle.net/xn9mnmy1/

但它似乎不起作用。

我做错了什么?

【问题讨论】:

标签: jquery


【解决方案1】:
$('body').on('click', function(){

    var text = "";
    if (window.getSelection) {
        text = window.getSelection().toString();
    } else if (document.selection && document.selection.type != "Control") {
        text = document.selection.createRange().text;
    }

    alert(text);       
});

来源:Can I get highlighted text with JQuery?

【讨论】:

    【解决方案2】:

    使用.click() 方法,您可以将选定的文本作为警报发送给用户。

    在调用alert()之前,您必须确定所选文本字符串是否不为空,否则每次单击任意位置都会收到警报。

    $('body').click(readText);
    
    function readText(){
        var text = window.getSelection().toString();
        if(text.length > 0){
                alert("You selected:\n" + text);
            }  
    }
    

    见:https://jsfiddle.net/r24b0dpv/

    【讨论】:

      【解决方案3】:

      直接来自the documentation:

      此事件仅限于<input type="text"> 字段和<textarea> 框。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-04-20
        • 2011-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多