首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在特定控件上禁用jquery主题化?

问如何在特定控件上禁用jquery主题化?
EN

Stack Overflow用户
提问于 2015-04-13 17:52:14
回答 1查看 54关注 0票数 0

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

我尝试了几种方法,如removeClass、className、document中的replace、ready()或data-role=no,但都不能像预期的那样工作。例如,它将样式从正常状态移除,但不从按钮的悬停或选定状态移除。

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

JS Fiddle

EN

回答 1

Stack Overflow用户

发布于 2015-04-13 18:06:07

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

代码语言:javascript
复制
.ui-state-default:not([type="submit"])

如果您不想修改原始的CSS (例如,它来自CDN),在包含它之后,加载另一个CSS (本地CSS),其中包含从oryginal复制的规则,但只涉及修改过的按钮,并且在每个参数之后执行!important并重置每个规则。弱的解决方案,但工作,你最好结束编辑源代码。

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

而不是设计它们的样式

代码语言:javascript
复制
.ui-state-default[type="submit"] { /* rules for excluded buttons */ }

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

代码语言:javascript
复制
.ui-state-default:not(.marked) { /* in jQueryUI */ }
.ui-state-default.marked { /* in your styles */ }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29602459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档