Javascript 文本输入在使用jquery(.css方法)更改颜色后更改样式
我正在尝试使用更改文本输入字段的背景色Javascript 文本输入在使用jquery(.css方法)更改颜色后更改样式,javascript,jquery,css,Javascript,Jquery,Css,我正在尝试使用更改文本输入字段的背景色 $('input[name=testname]').css({“背景色”:“#ffffff”}) 但是在那之后,文本框的样式就改变了(右边的就是改变了的那个) 这似乎只发生在Firefox中,有解决办法吗 编辑: 第一个textinput的样式与第二个不同。(这里不是Chrome,只是Firefox25.0.1)就是它在这里的样子 编辑2:我更正了颜色,如果新颜色与旧颜色相同,甚至会发生这种情况。这是一种非常奇怪的行为。我真的找不到这个问题的根源。。。我可
$('input[name=testname]').css({“背景色”:“#ffffff”})代码>
但是在那之后,文本框的样式就改变了(右边的就是改变了的那个)
这似乎只发生在Firefox中,有解决办法吗
编辑:
第一个textinput的样式与第二个不同。(这里不是Chrome,只是Firefox25.0.1)就是它在这里的样子
编辑2:我更正了颜色,如果新颜色与旧颜色相同,甚至会发生这种情况。这是一种非常奇怪的行为。我真的找不到这个问题的根源。。。我可以找到默认输入字段的源代码(它在其中更改),但找不到它正常外观的css源代码。
解决方案1
但是,我可以强制输入字段与默认输入字段类似:
.changeBg
{
background-color: white;
border-radius: .18em;
border-width: 1px;
border-style: solid;
border-top-color: #abadb3;
border-left-color: #e2e3ea;
border-bottom-color: #e3e9ef;
border-right-color: #dbdfe6;
padding: 2.23px;
}
.changeBg:hover
{
border-top-color: #3d7bad;
border-bottom-color: #b7d9ed;
border-right-color: #a4c9e3;
border-left-color: #b5cfe7;
}
我刚刚使用了一个类,它改变了css背景:
$('input[name=test]').addClass('changeBg');
请注意,这只是Firefox的一个回退
更新
您可能希望使用@-moz document url-prefix(){}
仅针对firefox进行此回退
这似乎也发生在chrome上,只是简单的css
解决方案2
因为这不仅发生在firefox上,而且每个浏览器都有自己的标记,所以您还可以为每个浏览器创建一个输入标记
这样,您就不必为每个浏览器指定任何标记。默认情况下:所有表单元素都由用户代理(浏览器)样式表设置样式。如果您试图覆盖元素的样式,则用户代理将部分地(观察到)或完全地(可能)删除其样式表**
只需将边框样式添加到文本框的元素中即可保持不一致的外观。此问题需要一个重现问题的演示。添加了一个为我重现问题的链接。这是因为文本框的默认边框,因为如果您更改输入框的边框类型,它们的样式设置为“插入”它将被修复…;)@VivekVikranth Yea输入文本的默认边框是insetThreeDFace
。但是,当您更改此样式时,它仍不会使用与其他样式相同的布局。我试图独立地改变边界,但它仍然不是“正常”的边界。它在左、右和下边框上使用渐变。此外,用户选择效果不再有效。@nkmol哈哈,是的,但现在它(示例)希望这能起作用:)通过css删除背景。嗯,看起来实现有点缺陷。(这意味着我认为(默认)样式在仅更改颜色后不应更改)。但这似乎是一个很好的解决办法,谢谢。