Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

IE10的mouseout小BUG

  低版本IE和现代浏览器中mouseout的工作都很正常,但是在IE10中mouseout里面的alert却会弹出两次。不是因为冒泡,也不是因为默认行为。IE10把mouseout理解为before mouseout,弹出第一个alert时候又触发了一次mouseout,所以导致了这个问题。
<style>
body {padding:100px;}
span {padding:20px;background:#EEE;cursor:default;}
</style>
<span id="btn">点我试试</span>
<script>
btn.onclick=function(){
  btn.style.border="1px solid red";
  btn.innerHTML="IE10下鼠标移开这个区域会弹出俩alert";
  btn.onmouseout=function(e){
    alert(e.target.tagName);
  };
};
</script>
  虽然我们一般不会在项目中使用自带的alert,更不会把它用于mouseout中,但我还是吃饱撑着的给个解决方案吧。为了避免在事件同消息中使用alert,我们可以在事件中创建一个计时器消息来调用,这样就可以避免问题了。   btn.onmouseout=function(e){
    setTimeout(function(){
      alert(e.target.tagName);
    });
  };
  本文没啥营养,但从IE的各种问题上看来,微软完全没把心思放在IE上。对于我这个微软的脑残粉来说十分失望!!
网名:
54.144.24.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^