<select> 是否有合适的 :active 选择器?
Does <select> have a proper :active selector?
我的 select 框后面有一个向上箭头,就像这样
.select-pokemon:after {
content: "^";
}
然而,当 select 框显示其选项并且被 selected 时,我希望箭头显示一个 (x) 图标。我试过了
.select-pokemon:active:after {
content: "x";
}
但这只会在我直接点击 select 框时发生变化,当我停止点击但选项仍然显示时,内容会变回“^” 有没有办法保持图标 "x" 而 select 框显示其所有选项?
使用 JQuery 非常简单,您可以控制所需的行为。
会显示一个 ^,当您单击 select 时会显示一个 X,当您单击一个选项时,会返回 ^:
在此处查看 fiddle 演示以及另外两个示例 http://jsfiddle.net/manzapanza/hgpgtme5/
HTML:
<div class="after-b"></div>
<select name="bbb" class="select-pokemon-b">
<option>A</option>
<option>B</option>
<option>C</option>
</select>
CSS:
.after-b{
float: left;
margin-right: 100px;
}
.after-b:after{
content: "^";
}
.after-b.a:after{
content: "x";
}
JS:
$('.select-pokemon-b').focus(function(){
$('.after-b').toggleClass('a');
});
$('.select-pokemon-b').change(function(){
$('.after-b').toggleClass('a');
});
你应该使用 :focus。
.select-pokemon:focus:after {
content: "x";
}
这应该可以解决问题。
我的 select 框后面有一个向上箭头,就像这样
.select-pokemon:after {
content: "^";
}
然而,当 select 框显示其选项并且被 selected 时,我希望箭头显示一个 (x) 图标。我试过了
.select-pokemon:active:after {
content: "x";
}
但这只会在我直接点击 select 框时发生变化,当我停止点击但选项仍然显示时,内容会变回“^” 有没有办法保持图标 "x" 而 select 框显示其所有选项?
使用 JQuery 非常简单,您可以控制所需的行为。 会显示一个 ^,当您单击 select 时会显示一个 X,当您单击一个选项时,会返回 ^:
在此处查看 fiddle 演示以及另外两个示例 http://jsfiddle.net/manzapanza/hgpgtme5/
HTML:
<div class="after-b"></div>
<select name="bbb" class="select-pokemon-b">
<option>A</option>
<option>B</option>
<option>C</option>
</select>
CSS:
.after-b{
float: left;
margin-right: 100px;
}
.after-b:after{
content: "^";
}
.after-b.a:after{
content: "x";
}
JS:
$('.select-pokemon-b').focus(function(){
$('.after-b').toggleClass('a');
});
$('.select-pokemon-b').change(function(){
$('.after-b').toggleClass('a');
});
你应该使用 :focus。
.select-pokemon:focus:after {
content: "x";
}
这应该可以解决问题。