jQueryのmouseenter
とmouseleave
のイベントを組み合わせて、append
を呼び出すと面白い問題があります。私の目的は、マウスが何かを入力したときに余分な内容を表示し、マウスが離れるときにそれを削除することです。これはStackExchangeのタグにマウスを重ねると何が起こるかと非常に似ています。配列は:mouseenter
でjQuery mouseenter、mouseleave、appendの奇妙な組み合わせ
- 、
.offset
と.append
を介してマウスの下の要素によってコンテンツと位置を作成します。 mouseleave
に、そのコンテンツを画面から削除します。
私が操作している要素はimg
で、jQuery 1.6.2を使用しています。問題は、.append
が何とかmouseleave
をトリガーし、すぐに.mouseenter
が無限に続くことです。削除されて繰り返し追加されるため、追加されるコンテンツには奇妙なちらつき効果が現れます。 jsFiddleの例hereを参照してください。なぜこれが起こっているのですか?どうすれば解決できますか?
EDIT:考え出しました。 D'oh。加えられた内容はマウスの下に現れていた。
uがマウスオーバーを使用し、マウスアウトしてみたのですか? –
私は考えています*これらの種類のものは、通常、絶対配置され、オフスクリーンでボディに追加されます。マウスオーバーは、左/上を要素の下に単に変更するだけです。これは、すでにロードされており、追加/削除よりもDOMへの侵入が少ない。 – Marc