我是新手使用html + javascript + jQuery。我试图使用window.getSelection来获取所选文本,但这不起作用。 任何人都可以为此提出解决方案。
提前致谢。
答案 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;
}