【问题标题】:how to disable a label tag in javascript如何在javascript中禁用标签标签
【发布时间】:2011-05-27 07:29:22
【问题描述】:

我需要在 html 中使用 <label> 标签创建五个标签。然后,当单击任何一个标签时,必须禁用所有其他四个标签。我已经通过谷歌搜索但找不到如何禁用标签标签。有什么办法吗。任何建议......

<label for="u">username1</label>
<label for="u">username2</label>
<label for="u">username3</label>
<label for="u">username4</label>
<label for="u">username5</label>

【问题讨论】:

  • 标签不能真正禁用。你的意思是“消失”了吗?
  • 我不明白你禁用标签是什么意思。
  • 请描述您要解决的问题。可能有更好的解决方案。
  • 你绝对不应该这样做。这就是现在 HTML 的工作方式,辅助设备无法访问它,并且在语义上完全错误。使用&lt;option&gt;,它是专门为此目的而构建的。

标签: javascript tags


【解决方案1】:

在看你的例子之前,我会说:

标签不能被禁用。它的作用之一是扩展表单控件的单击目标,因此您可能希望改为禁用表单控件。

但是,由于某种原因,您的所有标签都与同一个控件(带有id="u" 的那个)相关联,这表明您没有正确使用&lt;label&gt;。单个控件可以有多个标签,但看起来您并没有这样做。

您可能应该退后一步,描述一下您认为禁用标签可以解决的问题。

【讨论】:

    【解决方案2】:

    您可以在源代码中看到使用 Javascript 和 CSS 的完整解决方案。 但是,如果您希望标签“看起来”像已禁用,您可以通过这种方式使用 CSS:

    在 HTML 中

    <label  class="disabled" for="u">username1 </label> 
    

    在 CSS 中

    label.disabled { color: #aaa; }
    

    【讨论】:

    • 这对我有用,谢谢。我有一个复选框和一个标签,当我禁用复选框时,我希望标签具有与被禁用相同的外观。否则很容易错过复选框被禁用。我认为这与 OP 正在寻找的效果相同。
    【解决方案3】:

    你,不能禁用标签。相反,您可以将标签的 Text 属性设置为"",当单击一个标签以获取其他标签时。

    【讨论】:

      【解决方案4】:

      正确的做法是不仅让它看起来被禁用,而且还禁用点击它时的任何操作。为此,我将使用以下代码:

      在 HTML 中

      <label  class="disableLabel" for="u">username1 </label> 
      

      在 CSS 中

      .disableLabel {
          pointer-events: none;
          opacity: 0.5;
      }
      

      【讨论】:

        猜你喜欢
        • 2021-08-02
        • 1970-01-01
        • 1970-01-01
        • 2011-12-26
        • 2011-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-16
        相关资源
        最近更新 更多