【问题标题】:Removing pseudo-selectors with jquery使用 jquery 删除伪选择器
【发布时间】:2011-11-01 04:38:03
【问题描述】:

我们使用以下方式设置按钮样式:

.button{blah}
.button:active{blah}

当我们提交表单时,我们禁用按钮

$('#letterButtons input').attr('disabled','disabled');

但在 webkit 上,在它们被禁用后,它们仍然“看起来”处于活动状态,因为它们在单击时会发生变化。

试过了,但没有乐趣......

$('#letterButtons input').removeClass('button:active');
$('#letterButtons input').removeClass('button\\:active');

其实设置完标签后,我记得我们用的是Zepto,所以可能是zepto的问题……

【问题讨论】:

  • 确保您的 WebKit 浏览器是最新版本 -- 我在 Google 上发现一些结果表明这是一个已解决的浏览器错误 (forum.jquery.com/topic/…)。

标签: jquery css zepto


【解决方案1】:

你试过了吗:

$('#letterButtons input').removeClass('button');

在我看来,类名是“按钮”。

【讨论】:

    【解决方案2】:

    您可以尝试使用:

    $('#letterButtons input').trigger('mouseleave');
    

    但是如果鼠标仍然悬停在元素上,这很容易失败。你也可以使用 CSS:

    #letterButtons button[disabled]:active {
        color: #999;
        background-color: #ccc;
    }
    

    【讨论】:

    • 第二个例子有效并且非常优雅。谢谢大卫!
    猜你喜欢
    • 2018-04-13
    • 1970-01-01
    • 2019-04-24
    • 2014-09-26
    • 2015-02-04
    • 1970-01-01
    • 2014-02-01
    • 2012-10-16
    • 1970-01-01
    相关资源
    最近更新 更多