我是个新手,刚开始使用html+javascript+jQuery。我正在尝试使用window.getSelection来获取选定的文本,但这不起作用。有没有人能对此提出解决方案。
提前谢谢。
发布于 2018-03-24 20:38:53
只需要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或任何可运行接口会延迟调用此方法(方法调用发生在浏览器选择释放之后)。只需像这样调用此方法即可
webView.loadUrl("javascript:getSelectedText()");发布于 2019-11-21 05:39:20
如果你想在文本选择后立即调用函数,你可以使用"selectionchange“事件:
document.addEventListener("selectionchange", handleSelection);它适用于android chrome和iOS safari。
发布于 2021-12-22 13:11:13
我知道这是一个非常古老的问题,但当我试图解决相同或类似的问题时,我得到的第一个搜索结果是这样的。我在这里没有找到解决方案,但过了一段时间后,我意识到有时对于手机来说,为了让getSelection()正常工作,在点击和选择之间应该有一个短暂的超时。
因此,例如:
document.getElementById("element").addEventListener('click', function (event) {
window.getSelection().selectAllChildren(this)
});你应该像这样使用一些想法:
document.getElementById("element").addEventListener('click', function (event) {
setTimeout(function(passedThis) {
window.getSelection().selectAllChildren(passedThis)
}, 10, this);
});也许这会为某人节省一些时间。
https://stackoverflow.com/questions/14281222
复制相似问题