【问题标题】:Making a textbox unselectable使文本框无法选择
【发布时间】:2012-12-13 20:02:35
【问题描述】:

您好,我有一个文本框,我用它作为计数器来显示另一个文本框中仍允许有多少字符。我已将其设为只读且背景透明,因此您无法判断它是一个选择框。唯一的问题是您仍然可以单击它或选择它。有没有办法做到这一点,让它看起来就像普通文本一样,人们不能点击它或标签到它?

【问题讨论】:

  • 你必须使用文本框有什么原因吗?
  • 你为什么不使用另一个控件,比如标签或文字。会更合适。您仍然可以在客户端和服务器端获取和设置值。
  • 我需要它能够从客户端功能不断更改。我还编辑了问题,它是一个 html 文本框。

标签: asp.net html


【解决方案1】:

如果这是 Asp.Net Web Control,则将其 Enabled 属性设置为 false

<asp:TextBox Enabled="false" />

如果是 HTML,你可以这样做:

<input type="text" disabled />

【讨论】:

  • 您可能不能为此使用文本框。
【解决方案2】:

只需将input 元素替换为span 元素或其他一些非输入元素。这需要对您的 JavaScript 进行细微的更改;您将分配给元素的innerHTML 属性而不是value。然后内容将显示为普通文本,您可以根据需要设置样式。

【讨论】:

    【解决方案3】:

    你需要一些 CSS 样式和一些 Jquery 技巧。

    CSS

    .readonly{
        border:none;
        background:#aaa;    
    }​
    

    jQuery

     $(".readonly").focus(function(){
           $(this).blur();
    });​
    

    现在只需将class="readonly" 添加到您的文本框。

    <asp:TextBox cssClass="readonly" />
    

    查看演示here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-14
      • 2022-06-17
      • 2014-03-10
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多