2014-04-10 45 views
3

上工作,我有:上懸停 懸停IE 10/9/8不透明元件

打開

  1. 單頁應用
  2. CSS大型菜單當用戶點擊一個鏈接,當我點擊鏈接文本時,IE 10/9/8菜單不會消失。如果我點擊文字周圍的間距,它會消失。

    拉我的頭髮試圖弄清楚這一點...它在Chrome/IE11正常工作

    這裏,使得它爲Chrome/IE11工作代碼:

    var $a = _i.$(jqEvent.target); 
        var $menu = $a.closest('.areaNav'); 
        var $tempBlockOut = _i.$('<div class="tempBlockOut"></div>'); 
        $tempBlockOut.appendTo($menu.parent()); 
        var z = $a.closest('.megamenu').css('z-index'); 
        $tempBlockOut.css({ width: '50px', height: '50px', background: 'transparent', position: 'absolute', 'z-index': z }).position({ 
         of: jqEvent 
        }); 
        setTimeout(function() { 
         $tempBlockOut.remove(); 
        }, 100); 
    

    我在光標所在的位置放置一個透明的div,以便懸停得到重置,並且當用戶選擇鏈接時CSS菜單消失。

回答

5

以下代碼修復此問題對於IE10 /八分之九

$tempBlockOut.css({ width: '50px', height: '50px', background: '#fff', opacity: 0, position: 'absolute', 'z-index': z }).position({ 
     of: jqEvent 
    }); 

改變了背景#FFF,並設置不透明度爲零。顯然IE10/9/8沒有註冊懸浮在透明元素上。