首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pointer-events none在IE中的行为不符合预期

pointer-events none在IE中的行为不符合预期
EN

Stack Overflow用户
提问于 2017-02-09 17:19:54
回答 2查看 1.2K关注 0票数 0

我有一个关于pointer-events:none css的问题。我正在尝试禁用combo box。现在,这个CSS在Chrome和Firefox中工作得很好,但在IE中部分工作。

虽然在IE中组合框仍然是禁用的,但我可以点击组合框并显示下拉框,这是不应该显示的。请指导我是否可以使用一些补丁来做同样的事情。

代码如下:

代码语言:javascript
复制
.pointer-events {
  pointer-events: none;
}
代码语言:javascript
复制
<select id="originPlaceId" name="originPlaceId" class="pointer-events" size="1" style="width:99%;">
  <option value="Tiger">Tiger</option>
  <option value="Lion">Lion</option>
</select>

EN

回答 2

Stack Overflow用户

发布于 2017-02-09 17:26:22

resolved here : stackoverflow

希望这能有所帮助:)

http://www.vinylfox.com/forwarding-mouse-events-through-layers/

您也可以尝试javascript解决方案:

http://jsbin.com/uhuto

代码语言:javascript
复制
function passThrough(e) {
    $(".box").each(function() {
       // check if clicked point (taken from event) is inside element
       var mouseX = e.pageX;
       var mouseY = e.pageY;
       var offset = $(this).offset();
       var width = $(this).width();
       var height = $(this).height();

       if (mouseX > offset.left && mouseX < offset.left+width && mouseY > offset.top && mouseY < offset.top+height)
         $(this).click(); // force click event
    });
}

$("#shield").click(passThrough);

var dthen = new Date();


var doPassThrough = true;
$('input').click(function(){
  doPassThrough =  !doPassThrough;
  if (doPassThrough){
    $("#shield").click(passThrough);
  } else {
    $('#shield').unbind('click', passThrough);
  }
});
票数 0
EN

Stack Overflow用户

发布于 2017-02-09 17:29:18

当你在internet explorer中时你可以使用插件:pointer events polyfill

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42132609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档