【问题标题】:JS and Prototype : mouseover influencing overlying element, why?JS 和原型:鼠标悬停影响覆盖元素,为什么?
【发布时间】:2009-11-05 20:57:48
【问题描述】:

我尝试在包含链接的 div 上创建鼠标悬停事件。当鼠标经过 div 时,背景会正确应用到所有 div,但是当鼠标经过链接时,背景只会应用到链接,为什么?

div 中的链接 IS,因此从逻辑上讲,它仍应在 div 上调用我的事件。

-------------------------------------------------- --------- | |链接| | -------------------------------------------------- ---------
<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>

【问题讨论】:

    标签: javascript events prototypejs dom-events


    【解决方案1】:

    在事件处理程序中使用this 以一致地引用处理程序绑定到的 div:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      相关资源
      最近更新 更多