$('#content')
ユーザーがdiv内でクリックしたかどうかを知りたいです。$('#content')
ウィンドウが実際の位置より少し上または下に表示されるように、画面をスクロールできる場合があります。ユーザーのクリックが div 内にある場合、ブール値incanvas
に true のフラグを立てます。
これは、クリック ハンドラー内にある関連コードです。
$content = $('#content');
ctop = $content.offset().top;
cleft = $content.offset().left;
cwidth = parseInt($content.css('width').replace("px",""));
cheight = parseInt($content.css('height').replace("px",""));
eX = parseInt(e.clientX); eY = parseInt(e.clientY);
inwidth = false;
inheight = false;
incanvas = false;
if(eX >= cleft && eX <= (cleft+cwidth)) inwidth=true;
if(eY >= ctop && eY <= (ctop+cheight)) inheight=true;
console.log("inwidth: " + inwidth +", inheight: " + inheight);
if(inwidth && inheight) incanvas = true;
if(incanvas) alert ("Clicked within canvas."); else alert ("Missed.");
content
このコードは、ユーザーがページをスクロールしてdivがページを上下に移動した場合を除いて、完全に正常に機能します。私の変数を確実にし、その位置にスクロールを含めるためのクロスブラウザの方法は何ですか?ctop
cleft