2009-11-05 44 views
0

我嘗試在包含鏈接的div上創建鼠標懸停事件。當鼠標移過div後,背景適用於所有div,但是當鼠標懸停在鏈接上時,背景僅適用於鏈接,爲什麼?JS和Prototype:mouseover影響疊加元素,爲什麼?

鏈接IS在div中,所以邏輯上它應該仍然在div上調用我的事件。

 
----------------------------------------------------------- 
| |link|            | 
----------------------------------------------------------- 
<div id="a" style="width:100%;"> 
     <a href="">bob</a> 
</div> 

<script type="text/javascript"> 
    $("a").observe('mouseover', function(e) { 
      Event.element(e).setStyle({backgroundColor: '#900'}); 
    }); 

    $("a").observe('mouseout', function(e) { 
       Event.element(e).setStyle({backgroundColor: '#fff'}); 
    }); 
</script> 

回答

2

使用this事件處理程序始終如一地引用在div的處理程序綁定到:

$("a").observe('mouseover', function() { 
    this.setStyle({backgroundColor: '#900'}); 
}); 

$("a").observe('mouseout', function() { 
    this.setStyle({backgroundColor: '#fff'}); 
}); 
相關問題