<select name="select" multiple size="5" style="width:410px">
<option value="1" selected="selected">dsadasfhdsiyfduisyfuidsyfidsyuif</option>
<option value="2">aaaaaaa</option>
<option value="3">aaaaa</option>
</select>
<option value="1" selected="selected">dsadasfhdsiyfduisyfuidsyfidsyuif</option>
<option value="2">aaaaaaa</option>
<option value="3">aaaaa</option>
</select>
<option value="1" selected="selected">dsadasfhdsiyfduisyfuidsyfidsyuif</option>
<option value="2">aaaaaaa</option>
<option value="3">aaaaa</option>
</select>
二楼高手,但是这样做会破坏整个页面的结构啊,人家是要求select的宽度不变,option上面出现tooltip提示。期待更好的方案。
另外如何判断select处于下拉状态?
二楼这样做会破坏整个页面的结构啊,人家是要求select的宽度不变,option上面出现tooltip提示。
期待更好的方案。-----
也许不符合最初的要求,
但也许就是最终的解决方案。
有时上帝的要求不合理
或上帝的要求太完美以至无法|很难做到
那就只能找一个替代方案来大略满足上帝的要求
尽管不是尽善尽美
另外如何判断select处于下拉状态?--------------------------------------------判断下拉状态我以前试过了,没成功过,
楼主的问题,实在不行就用input和DIV层做吧,这样肯定可以满足你的上帝的要求的,不过代码就多了。
<select name="select" multiple size="5" style="width:110px" onmouseover="javascript:var div;for(var $i=0;$i<this.length;$i++){this[$i].onmouseover=function(){div=document.createElement('div');div.id='optips';div.innerHTML=this.innerHTML;div.style.backgroundColor='#FFE4C4';div.style.position='absolute';div.style.left=event.clientX;div.style.top=event.clientY;document.body.appendChild(div);};this[$i].onmouseout=function(){document.body.removeChild(document.getElementById('optips'));}}">
<option value="1" selected="selected">dsadasfhdsiyfduisyfuidsyfidsyuif</option>
<option value="2">aaaaaaa</option>
<option value="3">aaaaa</option>
</select>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY>
<DIV id=div1 style="OVERFLOW: auto; ; WIDTH: expression(document.all.s1.offsetWidth+18); ; HEIGHT: expression(5*15)"><SELECT onmousemove=showTitle(this); style="WIDTH: 120px" onmouseout=hideTitle(this); size=6 name=s1> <OPTION>aaaaaaaaaaaaaaaaaaaaaa1<OPTION>bbbbbbbbbbbbbbbbbbbbbbbbb1<OPTION>cccccccccccccccccccccccc1<OPTION>ddddddddddddddddddddddd1<OPTION>eeeeeeeeeeeeeeeeeeeeeee1<OPTION>fffffffffffffffffffffffffff1</OPTION></SELECT> </DIV>
<SCRIPT>
//定义Popup
var oP=window.createPopup();
oP.document.body.style.background="beige";
//popup是否已显示
var oPShow=0;
function showTitle(obj){
var h=event.offsetY;
var fontsize=(obj.style.fontSize==""?(obj.currentStyle.fontSize==""?"9":obj.currentStyle.fontSize):obj.style.fontSize);
fontsize=parseInt(fontsize)*1.6;
var l=parseInt(h/fontsize);
oP.document.body.innerText=obj.options[l].text;
len=obj.options[l].text.length*8;
oP.show(event.offsetX+20,event.offsetY+fontsize+5,len,fontsize,document.body);
oPShow=1;
}
function hideTitle(obj){
if(oPShow==1)oP.hide();
}
</SCRIPT>
</BODY></HTML>
<select name="select" multiple size="5" style="width:110px">
<option value="1" selected="selected">dsadasfhdsiyfduisyfuidsyfidsyuif</option>
<option value="2">aaaaaaa</option>
<option value="3">aaaaa</option>
</select>
这个啊!所以我的回答应该符合要求,不过只能用在IE下