解决在IE下label中IMG图片无法选中radio的几个方法
今天遇到一个问题,在IE浏览器下,使用label FOR radio后,label中的图片无法选中。例如,这样的代码 ,这种情况下,点击label的图片将无法选中radio选项。解决这个问题,目前可以有三种方法,分别是通过JS、CSS或者HTML代码3个方面来解 决。 方法一,JS:
window.onload = function(){ if(document.all
&&
navigator.appVersion.indexOf(\
&&
navigator.appVersion.indexOf(\{
var a = document.getElementsByTagName(\for(var i=0,j=a.length;i if(a[i].hasChildNodes && a[i].childNodes.item(0).tagName == \{ a[i].childNodes.item(0).forid = a[i].htmlFor; a[i].childNodes.item(0).onclick = function(){ var e = document.getElementById(this.forid); switch(e.type){ case \ case \ case \} } } } } } 方法二,CSS: 在图片上覆盖一个容器,容器本身透明显示 将其中SPAN的属性设定有底色并且透明,SPAN覆盖到IMG上,并保持和图片同样的尺寸。 display:block; width:100px; height:100px; background:url(xxx.png) no-repeat 0 0; position:absolute; left:0; top:0; 方法三,THML代码控制: 在IMG中加一个属性,disabled 即可。 三种方法都是可行的解决方案,从实用方面,当然是第三种方法最简单,操作和实施起来最快,兼容性也好。问题是,以上仅仅是这种情况下的解决方法,如果从经验方面,三种方法都有自己的优势。