zoukankan      html  css  js  c++  java
  • 一次ie8模式下click无反应的小事

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

    言归正传,先上图:

    <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);
    	})
    

      

  • 相关阅读:
    常见限流算法
    spring aop 事物
    Java序列化和反序列化为什么要实现Serializable接口
    java类在何时被加载?
    mysql 排序 是怎么工作的?
    程序员转正述职报告
    .NET中使用Channel<T>
    .NET-服务承载系统(Hosting)(支持Cron表达式)
    JObject拼接Json字符串
    NET5 使用FTP发布
  • 原文地址:https://www.cnblogs.com/canrz/p/4018961.html
Copyright © 2011-2022 走看看