7

この質問は情報関連です。jqueryは初めてです。私はHTMLとCSSの経験が豊富です。

Jqueryのホバーとマウスオーバーの違いは何ですか. 要素にカーソルを合わせると、両方ともアクティブになりませんか。

4

2 に答える 2

9

mouseover(): その要素の子のイベントを発生させます。

hover():ホバーは、実際には子の発火の有無にかかわらずmouseenter機能します。mouseleave

ホバー効果を実現するには、mouseovermouseoutイベントの両方が必要です

$("element").mousover(function(){ 
    //do something over
}).mouseout(function() { 
    //do something out
});

一方、hover() では単なるコールバックです。

$("element").hover(
  function () {
    //do something enter
  }, 
  function () {
    //do something exit
  }
);

David Jonesの経験から:

私が取り組んでいたプロジェクトでは、コンテナーにいくつかのhtmlタブを追加するマウスオーバーとマウスアウトを使用するようにコンテナーdivをセットアップしました。これは完全に問題ないように見えましたが、mouseover/mouseout を使用すると、競合している他の jquery と対話しようとすると、追加された html が消え続けることを意味することがわかりました。

最終的に、私の特定のソリューションでは、生成された html で作業していたため、ホバーを使用するのではなく、ライブ関数で mouseenter と mouseleave を使用する必要がありました。

于 2013-08-05T14:48:53.497 に答える
6

hover() 関数はより高レベルです。関数を呼び出して、mouseenter イベントと mouseleave イベントの両方を処理するように構築されています。ホバーと通常の状態を持つ UI 要素 (ボタンなど) に非常に便利です。

mouseover() 関数は特に mouseover イベントにバインドします。マウスが境界線を越えて要素に入ったときだけ気にし、それが離れたらどうなるかはあまり気にしない状況に最適です。また、何らかの要素でイベントをトリガーしたいときに呼び出す関数でもあります。

説明: http://www.quora.com/jQuery/What-is-the-difference-between-the-hover-and-mouseover-functions

于 2013-08-05T14:28:48.783 に答える