30

このようなチャート上にバブルとしてレイアウトされたリスト要素のセット(<li>内)があります。ここで、バブルは要素です。<ul><li>

http://i.stack.imgur.com/PR7vR.png

の違いを検出できるようにしたい

  1. マウスをバブル#1からグリッドに移動する
  2. マウスをバブル#1からバブル2などの別のバブルに直接移動する

$(this)バブルにも使用しようとしまし.mouseleave()たが、現在ホバリングしている要素ではなく、離れている要素を登録します。

マウスが移動している要素を取得する方法についてのアイデアはありますmouseleave()か?

4

2 に答える 2

54

あなたは使用する必要がありますevent.toElement || e.relatedTarget

$('li').mouseleave(function(e)
{
    // new element is: e.toElement || e.relatedTarget
});

|| e.relatedTarget(ブラウザの互換性を確保するために編集されています)

于 2011-10-13T22:35:39.987 に答える
8

ordinarey javascriptを使用できる場合、ほとんどのブラウザーで、すべてのイベント(e)マウスオーバーおよびマウスアウトにe.relatedTargetがあります。#9より前のIEには、マウスオーバーとマウスアウトのどちらをリッスンしているかに応じて、event.toElementとevent.fromElementがあります。

somebody.onmouseout=function(e){
  if(!e && window.event)e=event;
  var goingto=e.relatedTarget|| event.toElement;
  //do something
}
somebody.onmouseover=function(e){
  if(!e && window.event)e=event;
  var comingfrom=e.relatedTarget|| e.fromElement;
  //do something
}
于 2011-10-13T22:37:36.060 に答える