![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
以下htmlは[up]の上でマウスダウンすると[down]に、[down]の上でマウスアップすると[up]になります。
しかし、[up]の上でマウスダウンして、[down]に変わった後[down]の外でマウスアップすると[down]のままになってしまいます。
このように、外でマウスアップした場合でも[up]の表示としたいのですが、なにかよい方法はないでしょうか?
FlashのAcitoscriptでいうところのreleaseOutsideを検知したいです。
<html>
<head>
<script>
window.onload = function(){
var Drag = 0;
i = function(id){ return document.getElementById(id) };
i('o').onmousedown = function(){i('o').innerHTML='[down]'; }
i('o').onmouseup = function(){ i('o').innerHTML='[up]'; }
}
</script>
<div id="o">[up]</div>
</body>
</html>
No.1ベストアンサー
- 回答日時:
こんな感じでどうでしょうか?
<html>
<head>
<script>
window.onload = function(){
var flag = false;
i = function(id){
return document.getElementById(id)
};
i('o').onmousedown = function(){
flag = true;
i('o').innerHTML='[down]';
};
document.onmouseup = function(){
if( flag == false ) return;
flag = false;
i('o').innerHTML='[up]';
};
}
</script>
<div id="o">[up]</div>
</body>
</html>
この回答への補足
chara0-mさん
ご回答ありがとうございます。
概ね良好なのですが、カチカチいじってるとマウスアップしてるのに[down]のままになる事があります。
どのような動作をさせた時に発生するのか断定は難しいのですが、
反転させてドラックの様な動作をした際に禁止のマークが出た後でしょうか。IEで発生します。
No.4
- 回答日時:
ドラッグ禁止させるなら、
i('o').ondragstart=function(){return false;}
でいかがでしょうか。
選択禁止も文字列ドラッグを防ぐのにはいいかもしれません。
No.2
- 回答日時:
>>反転させてドラックの様な動作をした際に禁止のマークが出た後でしょうか。
IEで発生します。これに関しては、divの部分でのドラッグの禁止ぐらいで対応するしか
ない気がします。
i('o').onmousemove = function(){ return false; }
のような感じではどうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
- テレビ SwitchBot HUBmini テレビの操作 1 2023/02/26 21:37
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外でマウスアップした時のイベント
-
【javascript 】addEventListen...
-
idを使わずにonclickで自身の要...
-
(function(){})()の意味
-
javascriptのenchantの打ちミス
-
jQueryのイベントに引数を渡したい
-
ジャバスプリクトについて
-
google apps scriptの終了のさせ方
-
javascriptを用いて作成された...
-
Perlの配列をJavaScriptに渡せ...
-
文字色の変化
-
flickrのAPIを用い、任意の写真...
-
/*@cc_on@*/
-
javascriptとphpの連携で疑問
-
【競プロ】アルゴリズムの仕組...
-
googleスプレッドシートのApps ...
-
setTimeoutによる繰り返しが途...
-
TexでΣの添え字の位置直し
-
同じIDで定義した要素の配列を...
-
なぜmatchメソッドがエラーにな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数でy=g(x)のgとは何の略です...
-
idを使わずにonclickで自身の要...
-
functionから別のfunctionを実...
-
jslintのエラーについて質問
-
要素名がスペースを含む場合のj...
-
javascript(jQuery)でセル内...
-
ajax反映後のjqueryが動かない
-
jQueryの :not() .not() が有効...
-
getElementByIdを使用したグロ...
-
コードをスマートにさせたい。
-
クリックすると上に開くアコー...
-
jQueryの"return false"の役割...
-
jQueryが読み込めない
-
個別では動く、javascriptのエラー
-
一つのアクションで関数を二つ...
-
jqueryの変数を関数の外に出す方法
-
R言語
-
jQuery|:not(:animated)
-
functionの値を別のfunction へ
-
スムーズに動く アニメーション...
おすすめ情報