2013-08-31 53 views
4

我想重新使用jQuery的指針事件功能,因爲指針事件不適用於IE和Opera。使用jQuery的指針事件功能?

我有一個div當徘徊另一個DIV顯示它具有指針事件是至關重要的上面,這樣,當上面的DIV懸停動畫不會觸發:

任何想法如何做到這一點的jQuery的?我試過幾件事情(如removeClass,鼠標移出等),但無法到達那裏:

的jQuery(未遂):

$(".soc1").hover(function(){ $(".soc1").removeClass("t1") }); 

HTML:

<div class="soc1"><a href="#" target="_blank" class="soc1"><span class="t1">link</span></a></div> 

CSS:

.soc1 a:hover > .t1{ 
    margin-top:-30px; 
    opacity:1; 
} 

.t1{ 
    position:absolute; 
    font-style:normal; 
    letter-spacing:0px; 
    display:block; 
    padding:4px; 
    font-family:Verdana, sans-serif; 
    font-size:10px; 
    color:#fff; 
    background-color:#090909; 
    opacity:0; 
    margin-left:2px; 
    margin-top:-40px; 
    pointer-events:none; 
    cursor:default; 
} 
+1

[不知道'pointer-events'是什麼的人鏈接到mozilla的文檔](https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events)相關問題:[如何讓Internet Explorer模擬'pointer-events:none?'](http://stackoverflow.com/q/9385213/1935077) –

+1

看看這個帖子有一個很好的回答你的問題: http://stackoverflow.com/questions/5855135/css-pointer-events-property-alternative-for-ie –

回答

2

jQuery的.hover需要兩個功能:第一個是當鼠標進入(懸停),第二個是當鼠標離開(停止h overing)

$(".soc1").hover(function mouseEnters() { 
    $(".soc1").removeClass("t1"); 
}, function mouseLeaves() { 
    $(".soc1").addClass("t1"); 
}); 

注意:名稱「mouseEnters」和「mouseLeaves」是可選的。這些是「命名的匿名功能」。我認爲在匿名函數上使用名字來清楚堆棧跟蹤是很好的,但是很多人更喜歡讓它們不被命名。