
javascript超初心者です。
canvas上でimage1.pngをドラッグして移動させるために、次のようなコードを書きました。
window.addEventListener("load", function() {
var canvas = document.getElementById("dCanvas");
var ctx=canvas.getContext("2d");
var image = new Image();
image.src="./images/image1.png";
var imageDrag = false;
var imageObject = {
x:0,
y:0,
width:100,
height:50,
};
image.onload = function () {
ctx.drawImage(image,imageObject.x, imageObject.y);
}
canvas.addEventListener("mousemove", function(e){
//マウスの移動
var x = e.clientX;
var y = e.clientY;
if (imageDrag) {
ctx.clearRect(0,0,800,400);
ctx.drawImage(image, imageObject.x + x - startX, imageObject.y + y - startY);
}
});
canvas.addEventListener("mouseup",function(e){
if(imageDrag){
//ドラッグを終えたときのマウスの座標
var x = e.clientX;
var y = e.clientY;
imageObject.x += x-startX;
imageObject.y += y-startY;
imageDrag = false;
}
});
canvas.addEventListener("mousedown",function(e){
var x = e.clientX;
var y = e.clientY;
if(x > imageObject.x && x < imageObject.x+imageObject.width && y > imageObject.y && y < imageObject.y+imageObject.height){
imageDrag = true;
//ドラッグを始めたときのマウスの座標
startX = x;
startY = y;
}
});
canvas.addEventListener("mouseleave",function(){
imageDrag = false;
});
var startX = -1;
var startY = -1;
}, true);
パソコンでは作動したのですが、タブレット(Galaxy tab)上の
Firefoxではタッチ動作で動きません。
パソコン、タブレット両対応にするには、どうすればよいでしょうか。
よろしくご教授下さい。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
早々にご回答下さりありがとうございました。
mousedownの代わりにtouchstart,mousemoveの代わりにtouchmove,mouseupの代わりにtouchendと入力してみたのですがやはりだめでした。ソースをどのように変えればよいのか教えていただけるととてもありがたいです。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javascript 特定のフォルダのデ...
-
商品コードを入力で、商品名、...
-
JavaScriptで平日のみをカウン...
-
XMLの空白要素をJavas...
-
数値の表示について
-
HTMLにWSHを組み込む
-
アルファベットABCD…をスマート...
-
C#で、ContextMenuStripに動的...
-
C#OpenCv V4にのエラーに関する...
-
JavaScriptで決まった「時刻」...
-
ASP.NETのコントロールの値をJa...
-
XMLを読み込んでサイドバー付き...
-
GoogleMapで設定したルート上の...
-
ASP.NET MVCでObjectをjsに渡す
-
ジェネレーターの作り方
-
引数なしの関数で疑問です
-
コンストラクタでvar ?
-
イベントが初めの一回しか起き...
-
1.gifをホームページ上でランダ...
-
シンプルなweb版スタンプラリー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#で、ContextMenuStripに動的...
-
ASP.NET MVCでObjectをjsに渡す
-
ローカルにあるファイルを検索...
-
C#OpenCv V4にのエラーに関する...
-
google apps scriptの終了のさせ方
-
イベントが初めの一回しか起き...
-
ジェネレーターの作り方
-
JavaScriptで文字列の特定文字...
-
javascriptでテーブルに追加し...
-
なぜmatchメソッドがエラーにな...
-
ASP.NETのコントロールの値をJa...
-
javascriptでiframeのURL変更は?
-
翌月を取得するGASが分かりません
-
1日1回だけ引けるjavascriptお...
-
商品コードを入力で、商品名、...
-
JavaScriptで平日のみをカウン...
-
jsによって検索プルダウン、都...
-
C# 演算 奇数と偶数 表現の仕方
-
GASでundefinedエラーが出ます
-
gas スプレッドシートがアクテ...
おすすめ情報