Javascript 复制到剪贴板不';t为隐藏输入工作
我已经用复制文本创建了表格单元格。。单击“复制”时,它将获取特定ipno单元格的值,并将其发布到输入中。。然后我使用execCommand将其复制到剪贴板中。。当我将输入类型设置为文本时,它工作正常。。但问题是,在我将输入设为隐藏后,它不会复制值。。因为我不需要显示输入。。 我的桌子如下Javascript 复制到剪贴板不';t为隐藏输入工作,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我已经用复制文本创建了表格单元格。。单击“复制”时,它将获取特定ipno单元格的值,并将其发布到输入中。。然后我使用execCommand将其复制到剪贴板中。。当我将输入类型设置为文本时,它工作正常。。但问题是,在我将输入设为隐藏后,它不会复制值。。因为我不需要显示输入。。 我的桌子如下 <td align="center" ><span class = 'cpy'><?echo $row['ipno'];?></span> <span c
<td align="center" ><span class = 'cpy'><?echo $row['ipno'];?></span> <span class="text-primary copytd"> Copy</span> </td>
注意:当我将输入设置为可见时,它工作正常。您不能使用type='hidden'复制到剪贴板 使用“文本” 这是我代码的一部分。 参考它 创建并使用“blind”类来隐藏它
.blind{visibility:hidden;overflow:hidden;position:absolute;
top:0;left:0;width:0;height:0;font-size:0;line-height:0}
若您在web中使用它,则可能不需要readonly和contenteditable属性
这些是用于移动设备的,以防止键盘弹出
HTML
为您的代码
HTML
$('.copytd').on("click",function(e) {
var copyText = $(this).closest('tr').find(".cpy").text();
// $("#divcopy").val(copyText);
$('input[name="ip"]').val(copyText);
var di = $("#divcopy").val();
myFunction();
// $(this).closest('tr').find(".copytd").text('Copied');
});
function myFunction() {
var copyT = document.getElementById("divcopy");
copyT.select();
copyT.setSelectionRange(0, 99999); /*For mobile devices*/
document.execCommand("copy");
alert("copied");
}
.blind{visibility:hidden;overflow:hidden;position:absolute;
top:0;left:0;width:0;height:0;font-size:0;line-height:0}
<input type="text" class="blind" id="myLink" value=""
readonly="readonly" contenteditable="true">
function copyLink(link, title) {
$('#myLink').val(link);
var linkUrl = document.getElementById("myLink");
linkUrl.select();
linkUrl.setSelectionRange(0, 9999);
document.execCommand("Copy");
}
<input type="text" name = "ip" id="divcopy" class="blind" value="" readonly="readonly" contenteditable="true">
$('.copytd').on("click",function(e) {
var copyText = $(this).closest('tr').find(".cpy").text();
// $("#divcopy").val(copyText);
$('input[name="ip"]').val(copyText);
var di = $("#divcopy").val();
myFunction();
// $(this).closest('tr').find(".copytd").text('Copied');
});
function myFunction() {
var copyT = document.getElementById("divcopy");
copyT.select();
copyT.setSelectionRange(0, 99999); /*For mobile devices*/
document.execCommand("copy");
alert("copied");
}