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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM