時給単価UP【3大特典付き】
コーディングテクニック集100選⋙

【jQuery】マウスホバーイベントの実装方法【hover・mouseenter,mouseleave】

記事内に広告を含みます

パソ君
パソ君

・jQueryでマウスホバーイベントってどう実装するの?

こんな疑問にお答えします。

ホバーしたら〇〇して、ホバーが外れたら〇〇をするという実装をしたいときありますよね。

でもjQueryではどう実装するんだ?と思うはず。

やり方は複数ありますが、簡単に実装可能です。

ジト
ジト

すぐにできるよ!

ということで、この記事では「マウスホバーイベントの実装方法」について解説していきます!

この記事でわかること

・マウスホバーイベントの実装方法【hover】
・マウスホバーイベントの実装方法【mouseenter,mouseleave】

【jQuery】マウスホバーイベントの実装方法【hover編】

まずhoverを使ったやり方です。

書き方としてはこちら↓

$(function() {
    $('.hoge').hover(
        function(){
            // ホバーした時のイベント
        },
        function(){
            // ホバーが外れたときのイベント
        }
    );
});

上関数部分にホバー時のイベントを記述。
下関数部分にホバーが外れたときのイベントを記述。

サンプルを作成してみました!

See the Pen ➀:ホバーイベント by jito-coder (@jito-coder) on CodePen.

ホバーすると背景色が変わるかと思います。

<div class="box">
    hoverしてみて
</div>
$(function() {
    $('.box').hover(
        function(){
            $(this).css('background-color','#ccc');
        },
        function(){
            $(this).css('background-color','#000066');
        }
    );
});

注意点として、今回の例ではホバーする前からcssで背景色を設定しています。

そうしないとホバーするまで、背景色がついていない状態になるため。ホバー前の指定にも注意して実装すべし!

ホバーが外れたときのイベントを記述しないと・・

ちなみにホバーが外れたときのイベントを記述しないと、ホバーした時のイベントが維持されます。

こんな感じに↓

See the Pen ➂:ホバーイベント by jito-coder (@jito-coder) on CodePen.

$(function() {
    $('.box').hover(
        function(){
            $(this).css('background-color','#ccc');
        },
    );
});

ホバーを外しても背景色が「#ccc」のままですよね!

ちなみに実際にhoverイベントを使った実装がこちら↓

【jQuery】ドロップダウンメニューの作り方3選【ホバー・クリック】

【jQuery】マウスホバーイベントの実装方法【mouseenter,mouseleave編】

続いて「on()」イベント関数を使った場合の、マウスホバーイベント実装を紹介していきます。

使うのは「hover」ではなく、「mouseenter,mouseleave」です。

コードがこちら↓

$(function() {
    $('.hoge').mouseenter(function(e) {
        // ホバーした時のイベント
    }),
    $('.hoge').mouseleave(function(e) {
        // ホバーが外れたときのイベント
    })
});

「mouseenter」がホバー時のイベント。

「mouseleave」がホバーが外れたときのイベントとなります。

サンプルを作成してみました!

See the Pen ➀:ホバーイベント by jito-coder (@jito-coder) on CodePen.

<div class="box">
    hoverしてみて
</div>
$(function() {
    $('.box').mouseenter(function(e) {
        $(this).css('background-color','#ccc');
    })
    $('.box').mouseleave(function(e) {
        $(this).css('background-color','#000066');
    })
});

ホバーしたら背景色が変わるイベントが発生しますよね。

「mouseleave」を指定しないと

ちなみにホバーが外れたときという指定をしないと、ホバーした時のイベントがそのまま続きます。

先ほどのサンプルだと、背景色が変わったままになるということですね↓

See the Pen ➁:ホバーイベント by jito-coder (@jito-coder) on CodePen.

$(function() {
    $('.box').mouseenter(function(e) {
        $(this).css('background-color','#ccc');
    })
});

一度ホバーしたら、背景色が#cccになり、ホバーが外れてもその色が持続しますよね。

【jQuery】マウスホバーイベントの実装方法【hover・mouseenter,mouseleave】:まとめ

  • hoverを使うやり方と、on.mouseenter,mouseleaveなど複数ある
  • ホバーが外れた後に指定をしないと、ホバーした時のイベントが持続する
ジト
ジト

マウスホバーイベントはよく使うので覚えておこう!

ちなみに実際にhoverイベントを使った実装がこちら↓

【jQuery】ドロップダウンメニューの作り方3選【ホバー・クリック】

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA