各浏览器中option元素的表现差异
1、IE6/7/8/9中无事件(如click,mouseover),Firefox/Safari/Chrome/Opera则有
1 2 3 4 | <select id= "s1" multiple= "multiple" > <option value= "1" onclick= "alert(1);" >1</option> <option value= "2" onclick= "alert(2);" >2</option> </select> |
示例:
2、点击option,通过srcElement获取事件源目标在IE中是select,Firefox/Safari/Chrome/Opera则是option
1 2 3 4 5 6 7 8 9 10 | <select id= "s2" multiple= "multiple" > <option value= "1" >1</option> </select> <script> document.getElementById( 's2' ).onclick = function (e){ var evt = window.event || e; var target = evt.srcElement || evt.target; alert(target.tagName); } </script> |
示例:
3、IE6下给option元素添加title属性实现tips功能无效
1 2 3 | <select id= "s1" multiple= "multiple" > <option value= "1" title= "tips" >1</option> </select> |
示例:
4、IE6中option无法完全显示
当我们给select指定宽度,但option的内容有时比较多,这时其它浏览器的option会根据内容自适应宽度,以让option内容能完整显示。但IE6则不行,option内容显示不完全。
如下代码
1 2 3 4 5 | <select style= "width:70px" > <option value= "" >自定义</option> <option value= "给你充话费,给我做腊八粥,不解释!" >给你充话费,给我做腊八粥,不解释!</option> <option value= "最后的口粮都给你充话费了,记得还我钱啊T_T" >最后的口粮都给你充话费了,记得还我钱啊T_T</option> </select> |
点击select后,各浏览器表现
1. 非IE6浏览器
2. IE6浏览器
可以看到IE6中option里的文字显示不完整。 解决方案是用一个元素包住select,利用overflow-x属性,如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <style type= "text/css" > #selectDiv { width: 60px; overflow-x:hidden; display: inline-block; } select { height: 23px; line-height: 23px; margin-right: 10px; min-width: 63px; } </style> <span id= "selectDiv" > <select id= "" name= "" onchange= "" > <option onmouseover= "setZiDingYi()" value= "" >自定义</option> <option value= "给你充话费,给我做腊八粥,不解释!" >给你充话费,给我做腊八粥,不解释!</option> <option value= "最后的口粮都给你充话费了,记得还我钱啊T_T" >最后的口粮都给你充话费了,记得还我钱啊T_T</option </select> </span> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端