
カーソルがブラウザの外に出たら、アラートを出すとき
$(window).mouseleave(function(){
alert("ウインドウを出ました");
});
この場合、windows IE、Chrome だと
マウスをスクロールバーに乗せた時でもアラートがでてしまいます。
スクロールバー上にマウスがあるときは、
アラートを表示させないためにはどうすれば良いでしょうか?
windows のfirefox
mac の firefox、Chrome、safari ではスクロールバーに乗せてもアラートがでません。
ブラウザの種類に関係なく、ブラウザの外に出たらアラートを出したいのです。
よろしくお願いします!
No.1ベストアンサー
- 回答日時:
こんにちは。
jQueryの問題というよりもブラウザ側の差異のようですね。
通常の要素にスクロールバーを表示する際は、スクロールバーも要素の一部として扱われるようですが、windowの場合だけ特別扱いにしているブラウザがあるようです。
この場合、スクロールバーはdocument外とされてしまうのでスクリプトの及ぶ範囲外となってしまいます。
ご質問の機能を実現する方法として、少々無理やりではありますが、body直下にラッパーのdiv等を置いて、windowにスクロールバーを出させずにこちらの要素でスクロールバーを表示させるようにすれば、ご提示の方法で判定が可能になると推測します。
ただし、ラッパーのサイズが常にwindowと同サイズになるように調整してあげる必要がでてきてしまいますが。
各種のブラウザで確認してはいませんし、自分でもあまりスマートな案だと思えませんので、あくまでもご参考までに・・・
body直下に<div id="wrapper">があるものと仮定して、
$(function(){
var w = $(window), wrap = $("#wrapper");
var resize = function(){
wrap.css({"width": w.width(), "height": w.height(), "overflow":"auto" });
}
$("html").css("overflow", "hidden");
w.on("resize", resize);
resize();
wrap.on("mouseleave", function(){
alert("ウインドウを出ました");
});
});
※あらかじめ、html, body{ margin:0; padding:0; width:100%; height:100%; } などとしておくとよろしいかと。
fujillin さん
ご回答ありがとうございます。
やはりスクロールバーも要素の一部であるか、ないかは直接、解決はできなのですね。
スッキリしました。
仰って頂きました方法を参考にして、やってみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Chrome(クローム) 最近Win10にてブラウザが左にスッと隠れていく現象に悩まされてます 3 2023/07/22 23:11
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- その他(OS) Windows以外のOSでhttps://login.live.com/にアクセス出来無い 3 2022/04/06 12:57
- その他(プログラミング・Web制作) マウスオーバー→ホイール回転でスクロールできない 2 2022/10/31 10:06
- その他(OS) Mac OSの操作について 2 2022/06/08 09:19
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- Chrome(クローム) 異なるブラウザのオートフィルコピー 1 2023/08/18 03:46
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(ブラウザ) テキストを入れるときの縦線の点滅がそれ以外のブラウザ上にも表れます。 1 2022/07/29 21:55
- その他(ブラウザ) angel ブラウザってなぜアプリのクラッシュやフリーズが多いのでしょうか?? 特定のサイトにこのブ 3 2023/02/06 20:17
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GASでチェックボックスを一括of...
-
スマホ上で、左右スワイプで次...
-
Cookieに保存されない
-
初心者です。gulpでコンパイル...
-
Adobe acrobat proでフォームを...
-
画面遷移を行わずに同一ページ...
-
変数宣言と初期値代入の場所に...
-
switch文のswitch(n)の部分を複...
-
jsでは、'で区切った部分を改行...
-
タグを教えてください。
-
ラジオボタンを複数選択したと...
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
Outlookのアカウントがあるとメ...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
タグを教えてください。
-
jqueryのselect2で検索欄の文字...
-
jsonテキストデータの並び替え...
-
初心者です。gulpでコンパイル...
-
ラジオボタンを複数選択したと...
-
階層別の組織図の自動作成について
-
jQueryで同じクラス名のものを...
-
二次元配列を使って順位をだす...
-
読み込んだQRコードをフォーム...
-
画面遷移を行わずに同一ページ...
-
セレクトを全て選択されていな...
-
【Google Apps Script】「ライ...
-
Adobe acrobat proでフォームを...
-
二次元配列の全要素の全要素を...
-
【GAS】WEBアプリでハイパーリ...
-
GASでGoogleフォームの自動返信...
-
フォームが空欄の時にフォーム...
-
セレクトボックスで配列を呼び...
-
イラストレーター、縦中横のシ...
おすすめ情報