要素内の特定の座標にクリック機能をどのように割り当てることができますか?JQueryでマウスの位置を使用してクリックイベントを設定する
答えて
$(document).click(function(event) {
var top = 0,
right = 200,
bottom = 200,
left = 0;
var x = event.pageX;
var y = event.pageY;
if ((x >= left && x <= right) && (y >= top && y <= bottom))
{
// do stuff if within the rectangle
}
});
これは問題なく動作しているようですが、クリック可能な領域の幅と高さを簡単に定義する方法はありますか? クリック可能な領域がどこにあるかを定義する助けがありますか? –
Jqueryの$(...)。offset()メソッドを使用して、要素の絶対xとyを取得できます。 同様に、left = $(elm).offset()。left、top = $(elm).offset()。バウンディングボックスの他の辺に必要な幅と高さを追加します。 – Supericy
これはif文ですか? –
要素の一部だけをクリックに反応させたい場合(これはあなたの質問の読み方です)は、クリックがどこで発生したのかを調べることで実現できます。
jQuery(function($) {
$("#target").click(function(event) {
var $this = $(this),
width = $this.width(),
pos = $this.offset(),
x = event.pageX - pos.left,
y = event.pageY - pos.top;
display("Click was at (" + x + "," + y + ") in the element");
if (x > (width/2)) {
display("Clicked in the right half");
}
});
function display(msg) {
$("<p>").html(msg).appendTo(document.body);
}
});
event.pageX
とevent.pageY
はoffset
関数は要素のためにあなたを与えるものです文書座標、です。だから、要素へevent.pageX
とevent.pageY
は、単にevent.pageY
からevent.pageX
からpos.left
とpos.top
を差し引くことにより座標変換することができます。(。。それはposition
をだ奇妙なしかし、真の名前にもかかわらず、offset
あなたは、要素のオフセット親に対してオフセット与えるものではありません)。
jqueryのすべてのイベントには、pageX
とpageY
プロパティがあります。だから、あなたがイベントを発生した場合は、座標を確認することができます。
$('#elem').click(function(e)) {
var x = e.pageX;
var y = e.pageY;
if (x > x1 && x < x2 && y > y1 && y < y2) {
do_something
}
}
この場合x1
、x2
、y1
、y2
は、長方形の座標です。
pageX
,pageY
はページ内の要素の相対位置を取得する必要がある場合はページ座標で、次に要素の位置を基準とする実際の座標を計算します。
ライブ例AlecTMHは、上述したようにhttp://jsfiddle.net/LBKTe/1
基本的には同じこと。
// top left and botom right corners of the clickable area
var x1 = 10, x2 = 30, y1 = 10, y2 = 30;
$(document).on('click', '#block', function(e) {
// get x/y coordinates inside
var cx = e.clientX;
var cy = e.clientY;
offset = $(this).offset();
x = cx-offset.left;
y = cy-offset.top;
// if our click coordinates are within constrains, show an alert
if (x >= x1 && x <= x2 && y >= y1 && y <= y2) {
alert('click!');
}
});
Hiya デモhttp://jsfiddle.net/gYkXS/3/
は、この情報がお役に立てば幸い素晴らしいものを持っています!乾杯!
コード
$(document).ready(function(){
$("#foo").mousemove(function(e){
window.xPos = e.pageX;
window.yPos = e.pageY;
alert("Position X = " + e.pageX + "Position y = " + e.pageY);
});
});
「関心のある分野」のほんの数があります場合は、必要なサイズの一個の以上の空の要素を重ね合わせて全体の要素の上でマウスクリックをキャプチャ避けることができますposition: absolute
スタイルと高いz-index
、すなわちで:
.hotspot {
position: absolute;
z-index: 1000;
cursor: pointer;
cursor: hand;
}
div {
position: relative;
}
canvas {
background-color: #f0f0f0;
}
<div class="frame">
<canvas width="400" height="400"> </canvas>
<div class="hotspot" style="left: 100px; top: 100px; width: 40px; height: 40px">
</div>
</div>
を参照してください
残念なことに、私はそこに他の機能を混乱させなければクリック機能のための要素がないようにする必要があります。 –
- 1. jQueryマウス位置の設定(カーソル位置ではない)
- 2. マウスの位置を設定する
- 3. jQueryマウスの位置
- 4. jQueryダイアログ:マウスの位置で位置を開きます。私はjQueryのUIのダイアログの位置を設定していますFirefoxの
- 5. jQueryマウスの位置を使用した水平スクロール
- 6. エスケープシーケンスを使用してマウスの位置をピクセル単位で取得します。
- 7. (jQueryを使用して)イベントの外でのマウスの位置を決定しますか?
- 8. AppleScriptを使用してウィンドウの位置を設定する
- 9. AMチャートを使用してスクロールバーの位置を設定する
- 10. マウスの位置に応じてJavascriptを使用してCSSの 'top'プロパティを設定します。
- 11. マウスの移動時に自動スクロール位置を設定する
- 12. javascriptを使用して背景位置を設定する
- 13. D3.js:マウスの位置ではなく、要素の位置を使用してツールチップを配置しますか?
- 14. jQuery qTip:カスタムスタイルで位置を設定
- 15. wp7.1での位置設定の使用
- 16. jquery divオフセットを計算し、マウスの位置に基づいて境界を設定する
- 17. geckodriverを使用してマウスを位置に移動
- 18. JScrollPaneでJTextAreaを使用してキャレットの位置を設定する
- 19. 根付いたアンドロイドデバイスにマウスの位置を設定
- 20. jQueryを使用してマウスの位置に基づいてdivの背景を移動する
- 21. Pythonを使用してウィンドウ内のマウスの位置を取得する
- 22. jQuery mousemove - マウスの位置に基づいてCSSフィルタを適用する
- 23. マウスの位置を使用して画像を回転する - Visual Studio 2015
- 24. スウィフトで%を使用して画像位置を設定する3
- 25. JavaScriptを開いて特定の位置でマウスをクリック
- 26. Jquery UI Draggable:ヘルパーをマウスの位置に整列します。
- 27. jQuery UI Sortable手動で位置を設定します
- 28. C#を使用してWinformsのメニューバーの位置を設定するには?
- 29. (UE4)C++のみを使用して骨の位置を設定するには
- 30. マウス位置カウント
可能性のある複製http://stackoverflow.com/questions/2845178/triggering-a-javascript-click-event-at-specific-coordinates –
私は彼を正しく理解していれば、OPは_register_特定の場所のハンドラであり、イベントを偽装するものではありません。 – Alnitak
どのような細かさ - 長方形、単一のピクセル、何か他の? – Alnitak