これはおそらく非常に単純な質問ですが、Stack Overflowに関するいくつかのチュートリアルやその他の投稿を読んだ後、探していたものを取得できませんでした。
jQueryの関数を使用して、ページ上の特定の場所.click()
をクリックしたいと思います。私が見つけたのは、座標を見つける方法のチュートリアルだけでしたが、具体的にはクリックしませんでした。X
Y
これはおそらく非常に単純な質問ですが、Stack Overflowに関するいくつかのチュートリアルやその他の投稿を読んだ後、探していたものを取得できませんでした。
jQueryの関数を使用して、ページ上の特定の場所.click()
をクリックしたいと思います。私が見つけたのは、座標を見つける方法のチュートリアルだけでしたが、具体的にはクリックしませんでした。X
Y
jQueryを使用して特定の位置にある要素を見つけるを参照してください。
ポイント(x、y)の下の要素を取得するには、document.elementFromPointを使用します。これをjqueryオブジェクトでラップし、クリックハンドラーを呼び出して、実際のクリックをシミュレートできます。
function click(x,y) {
var element = document.elementFromPoint(x,y);
$(element).click();
}
絶対座標とビューポートの相対座標に関するelementFromPointを使用する場合の欠点に注意してくださいhttp://www.zehnet.de/2010/11/19/document-elementfrompoint-a-jquery-solution/
クリックイベントを要素にバインドし、それに応じて処理するだけです...標準から外れることはありません。例として:
$(el).bind('click', function(event){
var x = event.pageX,
y = event.pageY;
console.log(x + " : " + y); // change to alert to see results with no console
});
マウスオフセットの取得の適切な処理について心配する必要はありません。jQueryはそれを修正するので、event.pageX
/と言うだけevent.pageY
で任意のブラウザーで位置を取得できます。上記の例では、xとyをローカル変数として設定しましたが、呼び出し可能変数の範囲外で使用する必要がある場合は、それらをグローバルにすることができます。これにより、座標がWebコンソールに記録されます。アクセスできない場合は、console.log
次のようalert
に変更して、すべてが正常に機能していることを確認してください。
編集:あなたの質問を読み直した後、私の答えは変わります:
を使用してx座標とy座標を設定することにより、特定の要素をターゲットにすることができますdocument.elementFromPoint
。このページによると、主要なブラウザでサポートされているようです。
これは、jQueryのドキュメントに関するちょっとしたチュートリアルです。基本的には次のようになります。
$('#chosen_element').click(function(e){
alert('X position is:' + e.pageX + 'Y position is:' + e.pageY);
});