我有一个显示用户名称的span,以及一个包含用户用户名的隐藏输入框。输入框位于UI的跨度正下方,隐藏了可见性
<span> My Name </span>
<input type = "text" class = "hidden" value = "MyUserName">
我想要的是当用户点击可见范围并按Ctrl + C时,我希望输入框的值被复制到剪贴板上。 (在这种情况下是MyUserName)。有什么办法可以在Javascript中做到这一点吗?
答案 0 :(得分:2)
试试这个
<span onClick="CopyToClipboard()"> My Name </span>
<input type = "text" id="test" class = "hidden" value = "MyUserName">
然后是一个脚本
<script type="text/javascript">
function CopyToClipboard()
{
document.getElementById('test').focus();
document.getElementById('test').select();
}
</script>
答案 1 :(得分:0)
看看这里:Handling Keyboard Shortcuts in Javascript。作者创建了一个Javascript函数库,可以轻松地完成您的要求。
使用此脚本库,您可以执行以下操作:
shortcut.add("Ctrl+C",function() {
//Do something here
});
答案 2 :(得分:0)
我有这个方便的功能适用于IE和Firefox(请求许可)。对于其他人,虽然你需要zeroclipboard闪存控制。
当它工作时,它会显示一个文本聚焦的提示,这样用户就可以按Ctrl + c数据
function copyText(text) {
if (window.clipboardData) { // Internet Explorer
window.clipboardData.setData("Text", ""+ text);
} else if (window.netscape) { // Mozilla
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
gClipboardHelper.copyString(text);
} catch(e) {
return prompt("Ctrl+C this text : ", text);
}
} else {
return prompt("Ctrl+C this text : ", text);
}
return false;
}