2010年07月28日

iPhoneのonTouch系イベント

iPhoneではonmouse系のイベントが利用できない。代わりにonTouch系のイベントが用意されている。

onTouchStart
onTouchMove
onTouchEnd
onTouchCancel

jQueryでは次のようにbindを利用してonTouch系のイベントが利用できる。

$("hoge").bind("touchstart",function(){
//処理
})



注意点1

$("hoge").bind("touchstart",function(e){
console.log(e.pageX)
})


なんてのは動作しない。イベント情報はeventで取得できる。

さらにevent.touches[0]と言った形で指の本数だけイベントが設定されている。指の1本だと次のようにイベント情報が取得できる。

$("hoge").bind("touchstart",function(e){
var e = event.touches[0];
console.log(e.pageX)
})


注意点2

onTouchEndではevent.touchesを取得できない。TouchEndではもうディスプレイから指が離れているので情報取得できないよという糞仕様。言いたいことはわかるが不便で仕方ない。
posted by ねこまんま at 23:29 | Comment(0) | TrackBack(0) | iPhone | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。