设置了一个div得z-index,希望它总在顶端,可是它下面的一个<select>破土而出...
在网页里面加上这一段也许可以解决:
<SCRIPT LANGUAGE="JavaScript" defer>
<!--
var elms = document.getElementsByTagName("select");
for (var i=0;i<elms.length;i++)
if (elms[i].type=="select-one") cover(elms[i]);
function cover(s){
s.style.display="none";
s.onmouseout = hideSelect;
s.onblur = hideSelect;
s.onchange = resetSelectValue;
var t = document.createElement("input");
t.style.width = s.style.width;
t.value = s.options[s.selectedIndex].text;
t.onmouseover = showSelect
document.body.insertBefore(t,s)
}
function showSelect(){
var e = event.srcElement;
e.style.display="none";
e.nextSibling.style.display="inline";
}
function hideSelect(){
var e = event.srcElement;
e.style.display="none";
e.previousSibling.style.display="inline";
e.blur();
}
function resetSelectValue(){
var e = event.srcElement;
e.previousSibling.value = e.options[e.selectedIndex].text
e.blur();
}
//-->
</SCRIPT>
考虑到select上原来可能已经定义了onchange事件,上面的代码改为:
<SCRIPT LANGUAGE="JavaScript" defer>
<!--
var elms = document.getElementsByTagName("select");
for (var i=0;i<elms.length;i++)
if (elms[i].type=="select-one") cover(elms[i]);
function cover(s){
s.onmouseout = hideSelect;
s.onblur = hideSelect;
if (s.onchange==null)
s.onchange = resetSelectValue;
else{
s.doOnchange = s.onchange;
s.onchange = function(){this.doOnchange();resetSelectValue()}
}
var t = document.createElement("input");
t.style.width = s.offsetWidth;
t.value = s.options[s.selectedIndex].text;
t.onmouseover = showSelect
document.body.insertBefore(t,s)
s.style.display="none";
}
function showSelect(){
var e = event.srcElement;
e.style.display="none";
e.nextSibling.style.display="inline";
}
function hideSelect(){
var e = event.srcElement;
e.style.display="none";
e.previousSibling.style.display="inline";
e.blur();
}
function resetSelectValue(){
var e = event.srcElement;
e.previousSibling.value = e.options[e.selectedIndex].text
e.blur();
}
//-->
</SCRIPT>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。