【问题标题】:Cursor blinking even though field is readonly即使字段是只读的,光标也会闪烁
【发布时间】:2011-07-24 16:49:30
【问题描述】:

我创建了一个只读字段,但是当我单击该字段时,我看到一个光标在闪烁。当值为只读时,光标是否可能闪烁?

<input type='text' name='fname' value="100000" readonly="true"  />

【问题讨论】:

标签: html css focus


【解决方案1】:

readonly="readonly" 是你应该使用的。

【讨论】:

  • 其实属性的值根本没有区别,除了在xhtml的上下文中,在这种情况下必须readonly="readonly"你说的顺序使代码成为有效的 xhtml。但即便如此,抱怨的还是 DTD 验证器,而不是浏览器;所有浏览器都可以使用 readonly 属性的任何值,甚至根本没有值。
  • @Wesley - 就绝对正确的语法而言,是的,它应该是 readonly="readonly" 或只是 readonly。我要指出的是浏览器并不关心这一点,并且与readonly="true" 完全相同。因此,虽然这个答案指出了正确的语法,但它实际上不会对 OP 产生任何影响,更重要的是,它不会解决他们的问题。
  • @Spudley:该链接是针对 Chrono(或其他任何感兴趣的人)的,而不是专门针对您的。 readonly="hell-yeah" 会起作用的,我知道 :)
  • @Wesley - 呵呵。是的,我在发表评论后解决了这个问题。但我认为无论如何澄清我的观点是件好事。
【解决方案2】:

readonly 属性不会改变字段的呈现方式——您确实会看到闪烁的光标。但是,如果您尝试在该字段中输入,您会发现它没有响应。

如果你想让它看起来不一样,你需要在它被禁用时使用 CSS 来设置该字段的样式。例如:

.myfield[disabled] {
    background-color: #AAAAAA;
}

...在禁用时使该字段变为浅灰色。

但据我所知,没有办法改变文本字段中闪烁的光标;当然不会阻止它闪烁。

如果您不想在字段中出现光标,您可以使用disabled 属性而不是readonly。但这也有其他副作用,并且与readonly 的工作方式完全不同。

【讨论】:

  • 在我链接到 cmets(我自己的)的帖子上,有些人说他们确实没有在只读输入上看到闪烁的插入符号,我认为这可能取决于浏览器和/或操作系统。当然,它应该只出现在焦点上,所以 onfocus="this.blur()" 是我使用的 hacky 解决方法。
【解决方案3】:

这似乎是 IE 11/Mozilla Fire Fox 或其他版本中的错误。

我通过添加以下内容使用 JQuery 解决了这个问题:

Line 1      $('#Id').prop('readonly', true);       
Line 2      $('#Id').css('pointer-events', 'none'); 

【讨论】:

    【解决方案4】:

    使用&lt;span&gt; 10000 &lt;/span&gt; tag.U 可能会得到你的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      • 2013-01-12
      • 1970-01-01
      • 2011-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多