ie8模式下click无反应点击option无反应的解决方法

(编辑:jimmy 日期: 2026/4/30 浏览:2)

想起了小学时候数不尽的一件小事,哎,那夕阳下的奔跑,是我逝去的青春啊。

言归正传,先上图:

<select id="cardNoList" size="4"></select>

实现的效果比较常见的一种,点击select里面的option,将其赋值到上面的input,直接用jQuery写的:

复制代码 代码如下:
$("#cardNoList option").click(function(){
$("#card").attr("value","").attr("value",this.value);
})

有个奇怪的事情,

由于面向的用户基本上都是用的360浏览器这类国内双核浏览器,加了

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>

本机Eclipse跑是用的chrome内核进行解析,放到测试环境,就变成ie8标准进行解析了。

现在问题来了,学挖掘……额,不是!

在用IE8打开的时候,点击option没有任何反应。

加alert试了下:
复制代码 代码如下:
$("#cardNoList option").click(function(){
alert("111");
$("#card").attr("value","").attr("value",this.value);
alert("222");
})

click完全没有调用到。

一开始以为是jQuery的click事件在ie8下的兼容问题,但jQuery对兼容都封装解决了,应用如此广,按理不会就我碰到。

后来想到,可能是在ie8下click根本没有加到option上面去,改了改,将click加到select上,成了,ie8、Firefox、chrome都可以顺利赋值到input里。
复制代码 代码如下:
$("#cardNoList").click(function(){
$("#card").attr("value","").attr("value",this.value);
})

百度了下,貌似“众所周知,在IE里, select的option是不支持onclick事件的” o(╯□╰)o 

经提醒,改为:
复制代码 代码如下:
$("#cardNoList").click(function(){
$("#card").val(this.value);
})

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。