window.getselection在android中不起作用

时间:2013-01-11 15:23:26

标签: javascript android jquery html5

我是新手使用html + javascript + jQuery。我试图使用window.getSelection来获取所选文本,但这不起作用。    任何人都可以为此提出解决方案。

提前致谢。

3 个答案:

答案 0 :(得分:1)

只需要简单的java脚本代码就可以完成你的工作

 //I am using below line of code which works in both android and web browsers.

function getSelectedText() {
    var selection = null;

    if (window.getSelection) {
        selection = window.getSelection();
    } else if (typeof document.selection != "undefined") {
        selection = document.selection;
    }

    var selectedRange = selection.getRangeAt(0);

    console.log(selectedRange.toString());
}

注意:不要在post或者任何可运行的接口内调用此方法作为post或任何runnable接口在调用此方法时会延迟(方法调用在浏览器选择发布后发生)。只需将此方法称为

即可
webView.loadUrl("javascript:getSelectedText()");

答案 1 :(得分:0)

如果要在选择文本后立即调用函数,可以使用“ selectionchange”事件:

document.addEventListener("selectionchange", handleSelection);

它适用于android chrome和iOS safari。

答案 2 :(得分:-1)

尝试

function getSelected() {
var text = "";
if (window.getSelection && window.getSelection().toString() && $(window.getSelection()).attr('type') != "Caret") {
    text = window.getSelection();
    return text;
} else if (document.getSelection && document.getSelection().toString() && $(document.getSelection()).attr('type') != "Caret") {
    text = document.getSelection();
    return text;
} else {
    var selection = document.selection && document.selection.createRange();
    if (!(typeof selection === "undefined") && selection.text && selection.text.toString()) {
        text = selection.text;
        return text;
    }
}
return false;
}