2

私は以下のリストを持っています:

<ul>
   <li>
      <a>Link1</a>
      <ul>
         <li>
            <a>SubLink1</a>
         </li>
         ...   
      </ul>
   </li>
   <li>
      <a>Link2</a>
   </li>
   ...
</ul>

'css_class'そして、現在のマウスオーバーされた<li>要素に追加したいと思います:

document.getElements('li').addEvents({
            mouseover: function(){      
               this.addClass('css_class');
            },
            mouseout: function(){
               this.removeClass('css_class');
            }
});

<li>しかし、私の親も持っているので、このコードは間違ってい'css_class'ます。どうすればこれを修正できますか? ありがとう。

4

1 に答える 1

2

stopPropagation()イベントがリスナー ツリーをバブリングしないようにする必要があります。

document.getElements('li').addEvents({
  mouseover: function(e){
    this.addClass('css_class');   
    e.stopPropagation();
  },
  mouseout: function(){
    this.removeClass('css_class');   
    e.stopPropagation();
  }
});
于 2013-09-13T06:50:15.513 に答える