【发布时间】:2018-01-03 12:55:46
【问题描述】:
我想使用 JavaScript 将文本从网页复制到剪贴板,但是 .select() 在 Chrome(版本 63)中不起作用。
代码如下:
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<script type="text/javascript">
function preventDefault(event)
{
event.preventDefault();
var copyText = document.getElementById("MainContent_txtClientDetailsName");
copyText.select();
document.execCommand("Copy");
return false;
}
</script>
<p id="nameTag">Name: </p>
<asp:Label ID="lblClientDetailsName" runat="server" autopostback="false"></asp:Label>
<asp:TextBox ID="txtClientDetailsName" runat="server" ReadOnly="true" Enabled="false">Testing</asp:TextBox>
<asp:LinkButton ID="btnCopyTitle" runat="server" OnClientClick="preventDefault(event)" CssClass="btn btn-default btn-xs">
<span class="glyphicon glyphicon-copy"></span>
</asp:LinkButton>
</asp:Content>
我已经在 Edge 中尝试过,它运行良好。在线搜索建议调用 copyText.focus(),但这也不起作用。
代码本质上是 https://www.w3schools.com/howto/howto_js_copy_clipboard.asp 上 w3schools 指南的副本,在 Chrome 上运行良好。
【问题讨论】:
-
看不到任何 ID 为
MainContent_txtClientDetailsName的输入字段。 -
感谢您的回复库马尔。它来自内容(添加到示例) - 当我查看源代码时,我可以看到它附加到
txtClientDetailsName的开头。 -
阻止 mouseup 事件保持选择
-
您的视图是否有 ID
MainContent_txtClientDetailsName的输入类型? -
@Kumar_Vikas 是的,我有
<input name="ctl00$MainContent$txtClientDetailsName" type="text" value="Testing" readonly="readonly" id="MainContent_txtClientDetailsName" disabled="disabled" class="aspNetDisabled">
标签: javascript asp.net google-chrome webforms