0

次のことが起こっています。

2 つの div、

    <script type='text/javascript' src='jquery.min.js'></script>

  <div onmouseover="$(this).next('#mydiv').show();" onmouseleave="$(this).next('#mydiv').hide();" style="width:50px;height:50px;background:#000000;color:#ffffff;">hover</div>
  <div id="mydiv" onmouseleave="$(this).hide();" style="display:none;">content</div>

私の問題、

$(this).next('#mydiv').hide();

on mouseleave が原因で 2 番目の div にフォーカスできなくなります。マウスが最初の div を離れた後に 2 番目の div に入っていない場合にのみトリガーを作成する最初の div の mouseleave が発生したときに、2 番目の div を非表示にする必要があります。ジレンマ。

ツールチップ用のプラグインを使用していますが、最初の div 内に 2 番目の div をラップする余裕はありません。これは解決策ですが、私にとってはより大きな問題です。

4

1 に答える 1

1

jquery の実装方法は変更しませんでしたが、外部ファイルに変更する必要があります

http://jsfiddle.net/bp6Gv/を参照してください

<div onmouseover="$(this).next('#mydiv').addClass('active');" onmouseleave="$(this).next('#mydiv').removeClass('active');" style="width:50px;height:50px;background:#000000;color:#ffffff;">hover</div>
  <div id="mydiv" onmouseover="$(this).addClass('active')" onmouseleave="$(this).removeClass('active');" >content</div>

CSS

#mydiv {
   display: none;
}
#mydiv.active {
   display: block;
}
于 2012-11-09T20:52:21.737 に答える