2
jQueryを使用してタッチスタート、touchmove、touchendを聴くことができ、iphone Safari(touchmoveのベースの位置を変更する)で 'dragitem'をドラッグできました。しかし、今問題は、 'dropArea'に 'dragitem'ドラッグすると、dropAreaレスポンスをどのように作ることができるかです。Touchevent(iPhoneブラウザ)を使用したjQueryのドラッグアンドドロップ
たとえば、 'dropArea'は 'dropArea'内で 'dragitem'がドラッグされているときにハイライト/グロー、背景色などを変更しますが、離れているときは 'dropArea'は通常のままです。何か案が?
ありがとうございます。
HTML:
<div class='dragArea' >
<div id='box1' class='dragitem'>
</div>
<div id='box2' class='dragitem'>
</div>
</div>
<div class='dropArea'></div>
のjQuery:
var startTouchX = null;
var startTouchY = null;
var moveTouchX = null;
var moveTouchY = null;
var startPositionX = null;
var startPositionY = null;
$('.dragitem').bind('touchstart',function(event){
event.preventDefault();
var e = event.originalEvent;
startTouchX = e.targetTouches[0].pageX;
startTouchY = e.targetTouches[0].pageY;
startPositionX = $(this).css('left');
startPositionY = $(this).css('top');
});
$('.dragitem').bind('touchmove', function(event){
event.preventDefault();
var e = event.originalEvent;
moveTouchX = e.targetTouches[0].pageX;
moveTouchY = e.targetTouches[0].pageY;
$('#movex').text(moveTouchX);
$('#movey').text(moveTouchY);
$(this).css({top: (moveTouchY - 50), left: (moveTouchX - 5)});
});
$('.dragitem').bind('touchend', function(event){
$(this).animate({top: startPositionY, left: startPositionX}, 'fast');
});
"dragitem"がたくさんある場合は、関数ハンドラのコードを複製する必要があることを知りたいですか? イベントが同じ「各dragitem」に対して同じコード「function(evnet){....}」を作成する必要がありますか?助けてください。 – Stallman