Posted in Javascript onOctober 11, 2014
想起了小学时候数不尽的一件小事,哎,那夕阳下的奔跑,是我逝去的青春啊。
言归正传,先上图:
<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); })
ie8模式下click无反应点击option无反应的解决方法
- Author -
whsnow声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@