我正在尝试在不使用 Flash 的情况下复制到剪贴板,如果浏览器与 javascript 方法不兼容,我计划使用ZeroClipboard回退到 Flash 。
我有一个按钮的 onClick 侦听器,如下所示:
$(buttonWhereActionWillBeTriggered).click(function(){
var copyDiv = document.getElementById(inputContainingTextToBeCopied);
copyDiv.focus();
document.execCommand('SelectAll');
document.execCommand("Copy", false, null);
}
和一个输入字段如下:
<input type="text" name="Element To Be Copied" id="inputContainingTextToBeCopied" value="foo"/>
这目前按预期工作,但设计要求包含要复制的文本的字段不可见。我已经尝试了两种设置type="hidden"
,style="display: none"
但都没有成功。两者都会导致按钮选择整个页面并将整个内容复制到用户的剪贴板。
我相对相信原因不是基于浏览器,但为了以防万一,我正在 Mac OS X 10.10.4 上的 Chrome(版本 43.0.2357.134(64 位))上进行测试。
有没有办法可以在隐藏 <input> 的同时保持其可见的功能?或者如果不是我可以选择的替代路线?
我知道类似的问题,但没有一个能解决我的问题,要么是太旧了,要么是没有实际使用 Javascript,要么是不适合特定场景。对于任何有类似的、不太具体的问题的人来说,这是一个很好的答案。