2011/09/21

[JavaScript] スマートフォンかPCか判別する

正確には、タッチパネルかどうかを判定する機能。
これからノートパソコンにもタッチパネルとか出てくるかもしれないから、確実じゃないかも。

var clickType;
var hasTouch;

if("ontouchend" in window){
  hasTouch = true;
  clickType = "touchend";
}else{
  hasTouch = false;
  clickType = click;
}


こうやってタッチパネルかどうか判断しといて、クリック(またはタッチ)イベントには

element.addEventListener(clickType, function(){
  //ここに処理
});


touchendイベントの設定だけだと、タッチした後、ドラッグアウト(でいいのかな?)した時でもイベントが起きるようになるので注意。
必要ならtouchmoveが起きた時はイベントが起きないようにしないとだめ

詳しくは「iPhone、アンドロイドでのクリックイベント

0 件のコメント:

コメントを投稿