[解決済み】要素に対するマウス位置の検索
2022-03-27 11:25:34
質問
キャンバスを使ったちょっとしたお絵かきアプリを作りたいのですが、どうすればいいですか?そこで、キャンバス上のマウスの位置を見つける必要があります。
どのように解決するのですか?
JQueryをお使いの方へ。
時々、ネストした要素があり、そのうちの1つにイベントが添付されている場合、ブラウザが何を親として見ているかを理解するのに混乱することがあります。ここでは、その親を指定することができます。
マウスの位置を取得し、親要素のオフセット位置から引き算します。
var x = evt.pageX - $('#element').offset().left;
var y = evt.pageY - $('#element').offset().top;
スクロールペイン内のページでマウス位置を取得しようとする場合。
var x = (evt.pageX - $('#element').offset().left) + self.frame.scrollLeft();
var y = (evt.pageY - $('#element').offset().top) + self.frame.scrollTop();
またはページからの相対位置。
var x = (evt.pageX - $('#element').offset().left) + $(window).scrollLeft();
var y = (evt.pageY - $('#element').offset().top) + $(window).scrollTop();
以下の性能最適化に注意してください。
var offset = $('#element').offset();
// Then refer to
var x = evt.pageX - offset.left;
この方法では、JQuery は
#element
を各行ごとに指定します。
更新情報
より新しい、JavaScriptのみのバージョンは 回答 by @anytimecoder -- こちらもご覧ください。 getBoundingClientRect()のブラウザサポートについて .
関連
-
[解決済み】React Js: Uncaught (in promise) SyntaxError: 位置 0 の JSON で予期しないトークン < が発生しました。
-
[解決済み】WebSocket接続に失敗しました。WebSocket のハンドシェイク中にエラーが発生しました。予期しない応答コードです。400
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] JavaScriptのオブジェクトの配列からidでオブジェクトを検索する
-
[解決済み] どのDOM要素にフォーカスがあるかを調べるには?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み] jQueryで、ユーザーがそのフィールドを編集している間、テキストフィールドの最初の文字を大文字にするにはどうすればよいですか?
-
[解決済み】XMLHttpRequestモジュールが定義されていない/見つからない
-
[解決済み】コンソールがUnterminated JSX contentsエラーを投げる【終了しました
-
[解決済み】未定義のプロパティ 'bind' を読み込めない。React.js【重複あり
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】中央値の計算 - javascript