• 解决在IE下label中IMG图片无法选中radio的几个方法


    今天遇到一个问题,在IE浏览器下,使用label FOR radio后,label中的图片无法选中。例如,这样的代码 <input type="radio" name="radio" id="a" /><label for="a"><img src="/Labs/images/logo.gif" /></label> ,这种情况下,点击label的图片将无法选中radio选项。解决这个问题,目前可以有三种方法,分别是通过JS、CSS或者HTML代码3个方面来解决。

    方法一,JS:

    window.onload = function(){ 
    if(document.all && navigator.appVersion.indexOf("MSIE")>-1 && navigator.appVersion.indexOf("Windows")>-1) 

    var a = document.getElementsByTagName("label"); 
    for(var i=0,j=a.length;i<j;i++){ 
    if(a[i].hasChildNodes && a[i].childNodes.item(0).tagName == "IMG") 

    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 "radio": e.checked|=1;break; 
    case "checkbox": e.checked=!e.checked;break; 
    case "text": case "password": case "textarea": e.focus(); break; 
    } } } } } }

    方法二,CSS:

    在图片上覆盖一个容器,容器本身透明显示

    <input type="radio" name="radio" id="a" /><label for="a"><img src="xxx.jpg" /><span></span></label>

    将其中SPAN的属性设定有底色并且透明,SPAN覆盖到IMG上,并保持和图片同样的尺寸。

    display:block;
    100px;
    height:100px;
    background:url(xxx.png) no-repeat 0 0;
    position:absolute;
    left:0;
    top:0;

    方法三,THML代码控制:

    在IMG中加一个属性,disabled 即可。

    三种方法都是可行的解决方案,从实用方面,当然是第三种方法最简单,操作和实施起来最快,兼容性也好。问题是,以上仅仅是这种情况下的解决方法,如果从经验方面,三种方法都有自己的优势。

    转载指:http://zhouyj668.blog.163.com/blog/static/11252328020126127736230/

    时间,请带我像一条小溪流般,安静地流淌,汇入爱的海洋。
  • 相关阅读:
    1091. Shortest Path in Binary Matrix (M)
    1342. Number of Steps to Reduce a Number to Zero (E)
    0242. Valid Anagram (E)
    京准为您提供选卫星时钟(NTP时钟服务器)技巧
    时统设备(NTP授时服务器)产品概述与介绍
    NTP母钟(NTP网络子钟)为医院提高办公效率
    基于NTP/SNTP的网络授时服务系统方案
    NTP子钟(GPS母钟)功能与调试安装配置
    GPS时间统一系统(时统设备)介绍与应用
    GPS子母钟系统(电子时钟系统)让医院信息化更有意义
  • 原文地址:https://www.cnblogs.com/1246447850qqcom/p/4271836.html
Copyright © 2020-2023  润新知