选择Box和Checkbox Replacement

时间:2009-09-19 20:43:25

标签: javascript jquery css

我正在寻找一种合理的方法,如何使用CSS设置选择框,复选框和/或单选按钮的样式。我知道,由于浏览器的渲染引擎的工作原理,你不能用普通的CSS做到这一点。

但是有没有javascript方法来设置这些HTML元素的样式?它们是否适用于主流浏览器?

3 个答案:

答案 0 :(得分:1)

你可以通过完全用标签替换它来逐步增强选择并设置标签样式以使其看起来像下拉菜单,然后在点击和可能的keydown事件上附加事件处理程序以打开包含跨度的兄弟div包含值属性(或保存js中的数据,但这样更容易),然后将单独的单击事件处理程序附加到跨度。你需要在文档中附加一个单击处理程序,如果事件对象的目标不在生成的下拉列表中,则关闭它,你可能需要一些其他的逻辑。

这可能一开始是不可访问的,您可以尝试通过附加键盘事件处理程序使其更易于访问,但这很实用。

答案 1 :(得分:1)

使用CSS可以完美地选择列表。也就是说,除了IE< 8,用OS控件代替它们。

至于复选框和单选按钮,那么是的,它们并不是真正的CSS样式。这就是它的方式,虽然有时候你可以在它们上面设置颜色。我认为将它们保留原样是可以的。

答案 2 :(得分:1)

Dojo包含一些DHTML实现的小部件,可以替换许多页面的小部件。当有人关闭JS时,它会优雅地降级为原生的。