使用javascript选择文本并显示Android的复制窗口
我想点击按钮并从输入中自动选择文本,然后我想让android用户看到复制窗口来复制所选文本使用javascript选择文本并显示Android的复制窗口,javascript,android,jquery,Javascript,Android,Jquery,我想点击按钮并从输入中自动选择文本,然后我想让android用户看到复制窗口来复制所选文本 如上所述,我不建议更改android/ios的复制粘贴功能。。通常,用户熟悉其操作系统的复制粘贴功能。你只需要确保你的文本是可选择的 但是,您可以尝试将文本复制到剪贴板,如下所述:,但我从未在移动设备上尝试过,也不知道它是否有效。我不确定这适用于哪些版本的Android,但您应该尝试使用的是。我在4.3上试过,它似乎能满足你的需要 作为注意事项,尽管页面指定了以下警告: 这是一项实验技术 因为这项技术的
如上所述,我不建议更改android/ios的复制粘贴功能。。通常,用户熟悉其操作系统的复制粘贴功能。你只需要确保你的文本是可选择的
但是,您可以尝试将文本复制到剪贴板,如下所述:,但我从未在移动设备上尝试过,也不知道它是否有效。我不确定这适用于哪些版本的Android,但您应该尝试使用的是。我在4.3上试过,它似乎能满足你的需要 作为注意事项,尽管页面指定了以下警告: 这是一项实验技术 因为这项技术的规范还没有稳定下来,所以请检查兼容性表,以便在各种浏览器中使用正确的前缀。还请注意,随着规范的变化,实验技术的语法和行为在未来版本的浏览器中可能会发生变化 不幸的是,前面提到的兼容性表链接没有任何结果。这里有一个链接,不幸的是它也没有用 下面是一个简单的例子: HTML: Javascript:
function selectText()
{
//select the element you want
var strongs = document.getElementsByTagName("strong");
//get the selection object
var selection = window.getSelection();
if (selection.rangeCount > 0)
{
//clear current selection
selection.removeAllRanges();
}
for (var i=0;i<strongs.length;i++)
{
//loop over the items and add them to the selection object
var range = document.createRange();
range.selectNode(strongs[i]);
selection.addRange(range);
}
}
我希望这会有所帮助。如果您选择在每个文本视图、HTML。。。你只需要长时间的按压。或者你想在你的应用程序中实现什么,你需要这个场景吗?!这是正常的网页,我想用最简单的方法从移动设备上复制一些文本。这种方法使用flash。当我选择文本时,android用户需要重新选择要复制的文本。我想要一些javascript解决方案来选择像用户这样的文本并显示copy bar.upps,我发布了错误的讨论。我刚刚更新了我的答案。。如果没有的话,希望它能帮上忙:我想不出好的答案了。我在安卓4.2.2上试过,但没有看到结果。我只是注意到你的问题是输入文本,我的例子是div中的文本。你是用输入还是div来试的?我将研究对输入做同样的事情。
<strong>Text to select</strong>
<button onClick="selectText();">Select</button>
function selectText()
{
//select the element you want
var strongs = document.getElementsByTagName("strong");
//get the selection object
var selection = window.getSelection();
if (selection.rangeCount > 0)
{
//clear current selection
selection.removeAllRanges();
}
for (var i=0;i<strongs.length;i++)
{
//loop over the items and add them to the selection object
var range = document.createRange();
range.selectNode(strongs[i]);
selection.addRange(range);
}
}