我在我的项目中使用extjs 4.2.2.1144,它正在生成一个伪css类,如下所示
//从需要它的各个组件中删除轮廓而不是全局重置
.#{$prefix}webkit {
* {
&:focus {
outline:none !important;
}
}
}
生成css如下:
.x-webkit *:focus {
outline: none !important;
}
这在IE中的可编辑表格中导致性能问题,但对于Chrome工作正常,如果我删除它,性能会显着提高。
有没有办法在页面加载中使用简单的javascript或jquery卸载(不从css文件中删除)这个伪类?
答案 0 :(得分:1)
您可以使用在组件级别应用类来限定css的范围
cls
属性,然后让框架和浏览器为您完成工作。
http://docs.sencha.com/extjs/4.2.6/#!/api/Ext.form.field.Text-cfg-cls
以下是使用上面文档页面中的示例的示例:
// My Component
Ext.create('Ext.form.Panel', {
title: 'Contact Info',
width: 300,
bodyPadding: 10,
renderTo: Ext.getBody(),
items: [{
xtype: 'textfield',
name: 'name',
fieldLabel: 'Name',
cls: 'no-outline-on-focus' // <-- this will be applied to the component container
allowBlank: false
}, {
xtype: 'textfield',
name: 'email',
fieldLabel: 'Email Address',
vtype: 'email' format
}]
});
// the parent component with extjs generated styles
.no-outline-on-focus {
// everything within this block is scoped to the element above.
*:focus {
outline: none !important;
}
}
如果您没有安装CLI,这里有一个链接: https://www.sencha.com/products/extjs/cmd-download/
听起来您可能已经拥有它或已经设置了项目,但是想要发送链接以防万一。
如果您不想下载CLI或不想要它,可以使用SASS生成您自己的CSS输出的链接: http://sass-lang.com/install
Sencha在文档中提供了大量的sass变量,使样式和主题变得更容易。 :)
答案 1 :(得分:0)
如果样式属性不在样式表中,则将样式属性设置为空字符串将删除该属性。
这可能有效
$(".x-webkit :focus").css("outline", "");