IE 获取不到元素 img标签层级默认变高

作者在兼容IE8的项目中,遇到移入元素时获取不到元素的问题。经大量实验发现,只有元素底下是img时才会触发该bug,原因是IE中Img默认层级变高,IE10以下都存在此问题。作者给出的解决方法是给div添加背景颜色或background:url(about:blank)。
  1. 笔者在做一个要兼容ie8的项目,有一个移入和移出的效果,但发现移入元素的时候获取不到元素。
    上代码----------------------------------------------------------------------------
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        div {
            width: 50px;
            height: 50px;
            position: absolute;
            border: 1px solid black;
            /* background:url(about:blank) */
        }

        img {
            position: absolute;
            top: 0;
        }
    </style>
</head>

<body>
    <img class="one_licheng" src="https://dss0.bdstatic.com/6Ox1bjeh1BF3odCf/it/u=138126325,1485620701&fm=218&app=92&f=JPEG?w=121&h=75&s=7FAB2EC3909A35D01E299C1A030010D2" alt="图片失败请自行在网上查找">
    <div id="Div"></div>
</body>

</html>
<script>
    var getDiv = document.getElementById('Div');
    getDiv.onclick = function () {
        console.log(1)
    }
    document.onmousemove = function (e) {
        console.log(e.target, e.target.offsetWidth)
    }
</script>
  1. 笔直一开始以为在ie中onmouseenter有问题,后期做大量实验发现问题并不出现再在这里,从而发现了只有元素的底下是img才会触发这个bug,又接着大量的查找,发现在ie中Img默认层级会变高导致元素获取失败。ie10以一下都存在这个问题。
  2. 解决方法怎笔者 例子中
    给div 添加背景颜色或者background:url(about:blank) 内容为空。笔直目前只发现者这一种解决方法,若有其他解决方案一定要评论,告诉笔者呦~
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旭阳的头发呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值