ドキュメント内の特定の座標に onclick イベントを添付できるかどうか疑問に思っています。イメージマップの「エリア座標」に似たもので、クリックするとコードが実行される長方形または円形のエリアを作成できるようになるかもしれません。午前中ずっと解決策を見つけようとしてきましたが、コーディングの知識が豊富な人がこれを明確にしてくれることを願っています。
3 に答える
特定の要素ではなく、ドキュメント自体にクリック イベントを添付できます。イベント データには、クリック時のマウスの座標 (clientX および clientY) が含まれている必要があります。
他の要素がインターセプトして伝播をキャンセルしたり、false を返したりしないと仮定すると、イベントはドキュメントにバブルアップし、データがそこに表示されます。
$(document).click(function(ev){
console.log(ev.clientX, ev.clientY)
})
これにより、ウィンドウ内のマウス ポインターの位置がわかります。ドキュメントの上部を基準にしたい場合は、ドキュメントのスクロール位置を使用して計算を行う必要があります。
また、特定の座標セットに含まれる、または含まれないクリックを除外するコードを作成することもできます。
短い答え:いいえ。
長い答え:
おそらくこれを行うプラグインを作成できますが、機能について説明するだけです。
基本的に、いつものようにクリック イベントにバインドします。バインド先の要素が到達可能であることを確認してください。
次に、座標の配列をループし、イベントの位置が座標のいずれかに該当する場合は、関連付けられたイベント ハンドラーを呼び出します。
編集:明らかでない場合は、「座標の束」を関数、またはより正確には数学的計算に置き換えることができます。任意の種類の 2D シェイプで動作するハンドラーに方程式を渡すことができます。
いいえ、これらの座標を占有する要素がない限り、そうではありません。代わりに、その座標空間を占有する要素にイベントをバインドし、イベント オブジェクト内のクリックの座標を確認するだけです。