如何jquery禁用特定控件的主题?

时间:2015-04-13 09:52:14

标签: javascript jquery html css jquery-ui

网页使用jquery ui小部件进行日期选择等,以及弹出式上下文菜单。为此,页面需要引用jquery css。但是,我们更喜欢在表单上使用默认浏览器样式来提交按钮。我们可以手动标记它们。另一方面,如果将样式应用于作为日期选择器小部件一部分的按钮,则可以。

我在classNamereplacedocument中尝试了多种方法,例如removeClassready()data-role=no,但它不起作用预期。例如,它会从正常状态中删除样式,但不会从按钮的悬停或选定状态中删除。

那么如何在选定的按钮上禁用jquery-ui呢?

JS Fiddle

1 个答案:

答案 0 :(得分:1)

在jQueryUI css(https://code.jquery.com/ui/1.11.4/themes/ui-lightness/jquery-ui.min.css)中,更改指向您按钮的所有选择器,以使用:not()伪选择器排除标记的选择器,例如:

.ui-state-default:not([type="submit"])

如果您不想修改oryginal CSS(例如来自CDN),请在加载另一个CSS(本地一个)之后加载从oryginal复制的规则,但仅关注修改后的按钮,并在每个参数之后执行!important和重置每条规则。弱解决方案但有效,你最好编辑源代码。

  

回滚到浏览器默认按钮是不现实的   式

比他们的风格

.ui-state-default[type="submit"] { /* rules for excluded buttons */ }

此外[type="submit"]是您自己提出的排除标记,例如,排名可能是一个类或其他任何内容:

.ui-state-default:not(.marked) { /* in jQueryUI */ }
.ui-state-default.marked { /* in your styles */ }