我有一个按钮,可以有一个与它关联的焦点CSS类,我在Javascript中运行时实例化它。
这都是由一个定制的Javascript框架提供的,因此无法更改。Javascript中的动态CSS图像URL
通常我会为此按钮提供2个额外的CSS类,
btn { background-image: url(/btn.png);}
btn.focus { background-image: url(/btn-focus.png);}
这会给我的基础上,按钮是否是2个不同的图像“集中”与否。
我现在的问题是,图像的URL在运行时动态加载,并且没有办法用静态CSS文件指定它们。
我在想一个可能的解决方案是'以某种方式'生成一个带有btn和btn.focus类(带有动态URL)的新样式元素,并将其附加到头部或嵌入到标记中在按钮本身的瞬时化之前。这个解决方案看起来并不理想。 任何人都可以提出其他建议吗?
在此先感谢。
样式,包括背景图片可以很容易地被JS改变。您只需将一个函数附加到更改background-image CSS属性的按钮的onFocus事件即可。 – Thor84no 2012-07-05 10:03:30
我没有像这样的onFocus事件。我所知道的是,当按钮有焦点时,它将包含一个焦点CSS类 – user1503514 2012-07-05 10:06:22
一个按钮有一个onFocus事件。你只需要给它添加一个函数就可以了,这可以取决于你需要支持哪些浏览器和/或你有哪些js库(例如jQuery使它非常简单),或者你可以使用'element'这样的东西。 addEventListener('focus',function(){/ *改变图像在这里* /},true)'(这btw不适用于旧版本的IE IIRC)。阅读http://www.quirksmode.org/js/events_advanced.html/ http://api.jquery.com/focus/ – Thor84no 2012-07-05 11:14:33