【发布时间】:2014-08-15 03:40:17
【问题描述】:
在我的解决方案中,有一个 ASP.NET 只读文本框。单击它时,会插入闪烁的光标,使用户相信他们可以编辑。
有人可以建议我避免这种情况的最佳方法吗?
我尝试了很多方法,但没有用。
【问题讨论】:
-
必须是
TextBox吗?您会找到blur()的解决方法,尽管它不是万无一失的——例如IE11
标签: javascript asp.net asp-classic
在我的解决方案中,有一个 ASP.NET 只读文本框。单击它时,会插入闪烁的光标,使用户相信他们可以编辑。
有人可以建议我避免这种情况的最佳方法吗?
我尝试了很多方法,但没有用。
【问题讨论】:
TextBox吗?您会找到blur() 的解决方法,尽管它不是万无一失的——例如IE11
标签: javascript asp.net asp-classic
以下方法将在 texbox 获得焦点后立即移除 Blinking 光标:
<asp:TextBox onFocus="this.blur()"
ID="TextBox1"
runat="server"
ReadOnly="true"
Text="This is a test!">
</asp:TextBox>
在任何文本框上添加 onFocus="this.blur()"
此方法利用 HTML DOM Blur() 方法:blur() 方法用于移除元素的焦点。
警告: 在Internet Explorer 11 下使用 Blur() 可能不起作用。感谢@EdSF 的观察。
我建议你改用Label,因为这样就没有Blinking cursor 或cursor,句号!
<asp:Label ID="Label1"
runat="server"
ReadOnly="true"
Text="This is a test!" BorderColor="Black" BorderWidth="1" />
当使用 Label 时,您可能必须应用一些 CSS 以使其看起来像 TextBox。您还可以禁用 TextBox。但是,您可能必须应用 CSS 以使其看起来不被禁用。
【讨论】:
您是否尝试过在文本框上将 enabled 属性设置为 false?它想:
<asp:Textbox Id="textbox1" runat="server" Enabled="False" Text="Text">
文本将出现在文本框中,您仍然可以突出显示文本,但不能将光标放在框中。如果您希望状态在某个时候更改为 true,也可以从后面的代码中设置 enabled 属性。
【讨论】: