9cubed
ブログ | Tailwind | Vite | Python | Node.js | Linux | PowerShell | その他 | 将棋ウォーズ | 歌の練習
< 前の記事

jQuery - 要素をドラッグで動かす

次の記事 >

jQuery - 画面にログ表示

jQuery

jQuery - mouseenterイベント、mouseoverイベント、mouseleaveイベント、mouseoutイベント

公開日:2018-12-28
更新日:2019-05-14

1. 概要

マウスが要素の中に入った時に mouseenterイベント、mouseoverイベントが発生し、
要素の外に出た時に mouseleaveイベント、mouseoutイベントが発生します。
mouseenter と mouseover、mouseleave と mouseout の違いは、
親要素と子要素の間でマウスを行き来した時に、イベントが発生するかどうかです。

//マウスが要素の中に入った時
$(セレクタ).on("mouseenter", function(e) {
	処理;
});

//マウスが要素の外に出た時
$(セレクタ).on("mouseleave", function(e) {
	処理;
});

//マウスが要素の中に入った時(親子間の行き来でも発生する)
$(セレクタ).on("mouseover", function(e) {
	処理;
});

//マウスが要素の外に出た時(親子間の行き来でも発生する)
$(セレクタ).on("mouseout", function(e) {
	処理;
});

2.1 サンプル mouseenter, mouseleave

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>jQuery</title><style>body{color:#fff; background-color:#000;}</style></head>
<body style="padding:0px; margin:0px;">
  <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>

  <div style="padding:20px; padding-top:20px;">
    <div id="main" style="width:100px; height:90px; background-color:lightgray; color:black;">parent
      <div id="child" style="width:50px; height:50px; background-color:gray;">child</div>
    </div>
  </div>

  <div id="log" style="padding-left:20px;"></div>

  <script>

    $("#main").on("mouseenter", function(e) {
      log(e.target.id + ":mouseenter");
    });

    $("#main").on("mouseleave", function(e) {
      log(e.target.id + ":mouseleave");
    });

    //ログ出力
    var no = 1;
    function log(msg) {
      $("#log").append ('<div>' + no++ + ":" + msg + '</div>');
      if ($("#log div").length > 10) $("#log div:first").remove();
    }

  </script>
</body></html>

マウスをグレーの枠の中に入れると、ログが出力されます。
マウスを親要素と子要素の間で行き来しても、ログが出力されません。
実行結果:画面


2.2 サンプル mouseover, mouseout

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>jQuery</title><style>body{color:#fff; background-color:#000;}</style></head>
<body style="padding:0px; margin:0px;">
  <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>

  <div style="padding:20px; padding-top:20px;">
    <div id="main" style="width:100px; height:90px; background-color:lightgray; color:black;">parent
      <div id="child" style="width:50px; height:50px; background-color:gray;">child</div>
    </div>
  </div>

  <div id="log" style="padding-left:20px;"></div>

  <script>

    $("#main").on("mouseover", function(e) {
      log(e.target.id + ":mouseover");
    });

    $("#main").on("mouseout", function(e) {
      log(e.target.id + ":mouseout");
    });

    //ログ出力
    var no = 1;
    function log(msg) {
      $("#log").append ('<div>' + no++ + ":" + msg + '</div>');
      if ($("#log div").length > 10) $("#log div:first").remove();
    }

  </script>
</body></html>

マウスをグレーの枠の中に入れると、ログが出力されます。
マウスを親要素と子要素の間で行き来しても、ログが出力されます。
実行結果:画面



< 前の記事

jQuery - 要素をドラッグで動かす

次の記事 >

jQuery - 画面にログ表示

YouTube X

新着一覧

  • SCSS のインストールVite
  • Tailwind CSS のプロジェクトの作成Tailwind
  • TypeScriptのプロジェクトの作成Vite
  • Flask のインストールと動作確認Python
  • 簡易Webサーバーの作成Python
  • pipeline で文章の生成Python
  • pipeline で文章の要約Python
  • 音声から文字起こしPython
  • Node.js のインストールNode.js
  • .ps1(PowerShellスクリプト)を実行可能にするPowerShell

アーカイブ

  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲