【发布时间】:2011-06-28 07:20:46
【问题描述】:
我正在编写一些 JavaScript 来在没有它的浏览器中实现占位符文本。
我已经使用以下样式规则成功地在 Chrome 9 和 Fx 4b11 中设置了占位符文本的样式:
::-webkit-input-placeholder { color: #969696 !important; }
input:-moz-placeholder { color: #969696 !important; }
现在我希望我的 JavaScript 从不理解这些规则的浏览器的样式表中检索这些数据,以便我可以手动设置占位符文本的样式。
有谁知道我如何在 YUI3 中做到这一点?我试过了:
YUI().use('node',function(Y) {
var phColor = Y.all('::-webkit-input-placeholder').getStyle('color');
});
不幸的是,这只是返回: "未定义:未绑定到任何节点 { _query="input::-webkit-input-placeholder", _nodes=}"
有人知道我该怎么做吗?或者如果可能的话?
【问题讨论】:
-
所以我意识到所有浏览器中的原生 CSS 对象只显示浏览器理解的规则,因此找到“::-webkit-input-placeholder”认为不支持浏览器的对象是不可能的。据我所知,唯一的方法是直接使用 JSCSSP 之类的东西解析 CSS,然后在生成的对象模型中搜索所需的 CSS 规则。我可能会写一个 YUI3 模块来做到这一点。
标签: javascript css html placeholder yui3