【问题标题】:How do you disable jquery ui icons你如何禁用jquery ui图标
【发布时间】:2011-08-02 05:17:15
【问题描述】:

有没有办法禁用 jquery 中的图标?例如,我将 ui-icon-circle-triangle-w 和 ui-icon-circle-triangle-e 用于“prev/next”,我想在列表开头禁用“prev”,在列表开始时禁用“prev”结束等。

【问题讨论】:

  • 任何答案对您有用吗?也许接受那个?

标签: jquery jquery-ui icons


【解决方案1】:

我想这应该很明显,但它不在有关如何使用图标的主要文档中。您只需将类“ui-state-disabled”添加到元素。因此,例如通过 javascript 你可以这样做:

$('').addClass('ui-state-disabled');

【讨论】:

    【解决方案2】:

    您可以将 .ui-icon 设置为不显示,这也应该隐藏图标。您可能需要也可能不需要“!important”部分。

    .ui-icon { display: none !important; }
    

    【讨论】:

    • 谢谢,但我实际上希望图标仍然显示但显示为禁用(灰色)。请参阅我提出的解决方案的答案。
    【解决方案3】:

    这是旧的,但我今天遇到了,所以我想我会清理它。 .addClass('ui-state-disabled') 将应用 css 使其具有禁用外观。但是,如果您将事件绑定到图标,它仍然会触发。您还必须确保您的 js 知道它何时被禁用。也许使用 if hasClass('ui-state-disabled')。但仅添加 css 类并不会“禁用”图标。

    【讨论】:

      【解决方案4】:

      如果你想保持对角线“se”句柄没有图标最好是:

      .ui-icon { background-image:none     !important; }
      

      【讨论】:

        【解决方案5】:

        您可以在您的元素上添加 css opacity:0.7。我认为这不仅对文本有用,对元素中的图标或其他元素也有用。

        我写了DEMO

        关键组件是:

        .disable{
            opacity:0.7;
        }
        

        ...还有这个带有图标的DEMO

        【讨论】:

        • 这个答案被系统标记为“检查低质量”。我可以看到它实际上是一个答案,但如果您提供更多上下文可能会更有帮助 - 例如显示如何添加它的语法。正确的语法也可以避免审稿人匆忙将其标记为“低质量 - 删除”的问题。我修正了语法,但只有你可以添加必要的上下文。
        • @GreenAsJade 我修改了我的答案。
        • 不错!我冒昧地稍微详细说明一下,因为触发警报的另一件事是完全取决于链接的答案:) 我希望你不介意我的干预。感谢您的贡献!
        • @GreenAsJade 你的建议对我有好处,我不会介意的,谢谢:)
        【解决方案6】:

        您不能禁用它们,因为它们不是 'html' 元素,所以最好的方法是使用 'unbind()' 方法,例如: $('#icon-plus-sign').unbind('click') ;

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-01-07
          • 2011-06-07
          • 2010-11-25
          • 1970-01-01
          • 1970-01-01
          • 2011-12-23
          • 1970-01-01
          相关资源
          最近更新 更多