
No.1ベストアンサー
- 回答日時:
ブラウザ内でドラッグが始まった場合に限り
ブラウザ外に行っても追っかけることが出来るようです。
下記のHTMLファイルを作成すると検証できます。
ページ内でクリックするとテキストボックスにX、Yの座標が表示されます
ブラウザを小さくしてページ内でドラッグして
ページ外でドロップするとページ外のXY座標が表示されます。
ページ外でドラッグ始めてページ内に来ても無反応です。
グーグルマップはonclickイベントのみでやっているようです。
<div>内にdivのサイズより大きいマップのimageを置いて
マウスのオンクリックのポイントが基準位置から向かった方向の
imageをAjaxの機能を利用してDLしているようです。
私も勉強中ですが・・・。
<html>
<head><title> </title>
</head>
<body onclick='catchmouse();'>
<form name="form1">
<input type='text' name='mX' value=''>
<input type='text' name='mY' value=''>
</form>
</body>
<script language="javascript">
<!--
function catchmouse()
{
form1.mX.value = event.x;
form1.mY.value = event.y;
}
</script>
</html>
ご回答ありがとうございました。
ドラッグアンドドロップ中にしか反応しないというのが
参考になりました。というか、そこの部分がスコーンと抜けた状態でこれまでずっと悩んできました。
サンプルソースはbodyタグを以下のようにして楽しませていただきました。
<body onclick='catchmouse();'onmousemove='catchmouse();'>
No.2
- 回答日時:
- -untested- -
obj.getPos = function(pnt){
obj.x = pnt.pageX ;
obj.y = pnt.pageY ;}
//..............................................
//..............................................
obj.handle = function(a, b){
if (document.onmouseup != b) var obj2 = document.onmouseup || null;
document.onmouseup = b;
}else{
var x = (!a)? Event.MOUSEDOWN : (a2)? Event.MOUSEMOVE : Event.MOUSEUP;
b? document.captureEvents(pos) : document.releaseEvents(pos);
}}
ご回答ありがとうございました。
が、私は力量不足でこのコードを使ったテスト環境を構築できませんでした。
<script>
var obj = new Object();
obj.getPos = function(pnt){
obj.x = pnt.pageX ;
obj.y = pnt.pageY ;}
//..............................................
obj.handle = function(a, b){
if (document.onmouseup != b) { var obj2 = document.onmouseup || null;
document.onmouseup = b;
}else{
var x = (!a)? Event.MOUSEDOWN : (a2)? Event.MOUSEMOVE : Event.MOUSEUP;
b? document.captureEvents(pos) : document.releaseEvents(pos);
}}
obj.handle(1, obj.getPos); // 1の部分は何入れていいのか全然わかってない
</script>
とやりました。
obj.xとobj.yにはonmouseupのタイミングで値が入ってくる、というところまでできましたが、一生かかっても通らない部分があります。
精進します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
innerHTML内では改行は禁止?
-
プルダウン 項目が多いので先頭...
-
ハイパーリンクを別ウインドウ...
-
特定<table>内の<td>の色を変える
-
return trueとreturn falseの用...
-
【jsp/Java】チェックボックス...
-
jqueryとscriptでTABLEのセルを...
-
Selectボックスの幅を自動で広...
-
EclipseでSpringを使用し、テー...
-
<input>の選択肢をプルダウンメ...
-
Selectの中身をfor文で入れる
-
プルダウンで選択すると、DBの...
-
プルダウン選択を変更すると、...
-
inputのvalueを変数として使うには
-
Jvasvriptのlengthで個数が取得...
-
送信フォームで送信ボタンをお...
-
データベースの値を判断してラ...
-
CSVデータをツリー表示させたい
-
CSVファイルを読みこみ、プルダ...
-
1つのform内に2つのsubmitボタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
JavaScriptのfileオブジェクト...
-
javaScriptの変数をJavaの変数...
-
VB.NETで<Input>タグ、<text...
-
onclickが動作しない
-
formのfileの値をhiddenでも持...
-
追加ボタンを押した際に ok ボ...
-
クリックさせたいが、click()が...
-
onClickがinput type="image"だ...
-
BackSpaceしたい(QNo.2734284の...
-
同じページでgetElementsを複...
-
Javascriptでフィールドを埋め...
-
困っています。
-
「ボタン」の幅の長さ
-
JavaScriptのロジック?
-
<input type="file"/>
-
CHECKBOXとTEXTBOXのnameが同じ...
-
vbscriptでIE自動入力(コンボ...
-
setIntervalについて
-
JQueryでfunctionに引数としてI...
おすすめ情報