首页 > web前端 > js教程 > ie8模式下click无反应点击option无反应的解决方法

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

PHPz
发布: 2018-09-30 15:07:12
原创
1668 人浏览过

点击select里面的option,将其赋值到上面的input,直接用jQuery写的,问题是在用IE8打开的时候,点击option没有任何反应。

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

$("#cardNoList option").click(function(){
$("#card").attr("value","").attr("value",this.value); 
})
登录后复制

有个奇怪的事情,由于面向的用户基本上都是用的360浏览器这类国内双核浏览器,加了本机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);
}
登录后复制

以上就是本章的全部内容,更多相关教程请访问jQuery视频教程

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板