开发者

JS and Prototype : mouseover influencing overlying element, why?

开发者 https://www.devze.com 2022-12-11 04:03 出处:网络
I try to create a mouseover Event on a div wich containt a link.When the mouse pass over the div the background is apply to all div correctly, but when the mouse is over the link the background get ap

I try to create a mouseover Event on a div wich containt a link. When the mouse pass over the div the background is apply to all div correctly, but when the mouse is over the link the background get apply only to the link, why?

The link IS in the div, so logically it should still call my event on the 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({back开发者_Go百科groundColor: '#900'});
     });

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


Use this inside your event handler to consistently reference the div the handler was bound to:

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

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

精彩评论

暂无评论...
验证码 换一张
取 消