this tutorialのようなjQueryを使用し、JavaScriptイベントの外では、絶対的なマウスの位置/座標(XとY)を取得する必要があります。ありがとうございました。(jQueryを使用して)イベントの外でのマウスの位置を決定しますか?
答えて
できません。ただし、チュートリアルで同じ方法を使用して、グローバル変数に位置を格納し、イベント外で読み取ることはできます。このよう
:
jQuery(document).ready(function(){
$().mousemove(function(e){
window.mouseXPos = e.pageX;
window.mouseYPos = e.pageY;
});
})
あなたは今どこからでもwindow.mouseXPos
とwindow.mouseYPos
を使用することができます。
これはChetan Sastry's answerにコメントとして始まったが、私はそれも答えとして掲載する価値があるかもしれません実現:
も、あなたならば、私は、ドキュメントレベル、常に実行されているmousemove
イベントを持っていることについて注意が必要だろうカーソル位置だけをポーリングします。これは多くの処理であり、ブラウザ、特にIEなどのブラウザの速度が遅くなる可能性があります。
カーソルの位置をポーリングするためにマウスイベントを処理する必要がない場合は、実際にカーソル位置が必要ですか?あなたが解決しようとしている問題を解決する良い方法はありますか?
編集:さえあるのSafari 4、(控えめ)非常に高速で、その単一mousemove
イベントは私にとってそのチュートリアルページを持つすべての相互作用が著しく途切れ途切れになります。それがあなたのサイトやアプリケーションに対するユーザーの認識にどのように影響するか考えてみてください。
+1:同じ懸念がありました。 – Joel
本当ではありません。マウスイベントは常に生成されます。つまり、マウスが動くと、ブラウザーはJSコールバック関数を実行するまではマウスイベントを計算します(ネイティブコードを介して)。すべてのマウス関連のイベントリスナーにとって基本的なことです。ブラウザが 'document.onmousemove'を除いてその情報を公開するという共通の礼儀を提供することができません。これは、私が懸念している限り、ES5/ES6の近視眼です。実際にマウス位置をポーリングすることで、マウスでDOM要素を移動するときなど、バウンスを起こす「onmousemove」イベントを簡単にすることができます。 – codechimp
この関数は、唯一の間隔でマウスの位置を取得することにより、UIのパフォーマンスへの影響を減少させます「あなたは今、どこからでもwindow.mouseXPos
とwindow.mouseYPos
を使用することができます」ただ、他の回答のように
function getMousePosition(timeoutMilliSeconds) {
// "one" attaches the handler to the event and removes it after it has executed once
$(document).one("mousemove", function (event) {
window.mouseXPos = event.pageX;
window.mouseYPos = event.pageY;
// set a timeout so the handler will be attached again after a little while
setTimeout(function() { getMousePosition(timeoutMilliSeconds) }, timeoutMilliseconds);
});
}
// start storing the mouse position every 100 milliseconds
getMousePosition(100);
は、
間隔の間にマウスの移動が検出されないため、少し正確さが失われます。
評価のような構造を使用しないでください。それらはあまり効率的でなく、潜在的なセキュリティリスクです。 'setTimeout(function(){getMousePosition(timeoutMilliSeconds)}、timeoutMilliseconds);' –
@Chetan Sastryのソウルシップを試しましたが、動作しません(jQuery 1.6.4を使用しています)。私はコードを変更し、私は今働いています。ここに私のコードです。これが助けてくれるといいなあ
$(document).ready(function(){
$(document).mousemove(function(e){
window.mouseXPos = e.pageX;
window.mouseYPos = e.pageY;
});
});
が確認されました。この変更により、jQuery 1.4.4も修正されています – Emperorlou
- 1. JQueryでマウスの位置を使用してクリックイベントを設定する
- 2. D3.js:マウスの位置ではなく、要素の位置を使用してツールチップを配置しますか?
- 3. エスケープシーケンスを使用してマウスの位置をピクセル単位で取得します。
- 4. jQueryマウスの位置
- 5. 進行状況バーのマウスのホバー位置を決定しますか?
- 6. jQueryマウスの位置を使用した水平スクロール
- 7. jQueryマウス位置の設定(カーソル位置ではない)
- 8. jQueryダイアログ:マウスの位置で位置を開きます。私はjQueryのUIのダイアログの位置を設定していますFirefoxの
- 9. iframe内のマウスの位置を決定しますが、親を含む
- 10. IFRAMEの現在のマウス位置を特定しますか?
- 11. JFrameの外でマウスの位置を見つけますか?
- 12. Jquery UI Draggable:ヘルパーをマウスの位置に整列します。
- 13. マウスの位置に応じてJavascriptを使用してCSSの 'top'プロパティを設定します。
- 14. マウスの位置を設定する
- 15. JavaFXは定期的にマウスの位置を取得します
- 16. geckodriverを使用してマウスを位置に移動
- 17. javascriptのマウス位置で画像を変更しますか?
- 18. キャンバス内のListboxItem位置を決定しますか?
- 19. マウスクリックの位置での位置を決定する
- 20. Jqueryを使用してページ上の要素の位置を決定する方法
- 21. Pythonを使用してウィンドウ内のマウスの位置を取得する
- 22. jQueryを使用してマウスの位置に基づいてdivの背景を移動する
- 23. jQueryを使用して要素をマウスの位置に揃えるにはオフセットがあります
- 24. swift(またはObjective-C)を使用してmacOS上のウィンドウの位置を決定します
- 25. 画像の位置決めに絶対位置を使用していますか?
- 26. マウスを基準としたjqueryの位置要素
- 27. jQueryでウィンドウ位置決めツールチップを修正しました
- 28. は...ポジショニングは、私はjQueryのUIからjQueryの位置決めプラグインを使用している要素
- 29. iframeを介したマウスの位置
- 30. マウスの位置を使用して画像を回転する - Visual Studio 2015
これはjQueryまたはJavaScriptの制限ですか? – pbz
@pbz JavaScriptの制限です。 –
jQuery.one( 'mousemove'、function(){})を設定しました。この目的のために。それをsetTimeoutで遅延させ、次回の移動時にマウスの位置をキャプチャしてください。 – aceofspades