2011/09/21

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

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

  1. var clickType;  
  2. var hasTouch;  
  3.   
  4. if("ontouchend" in window){  
  5.   hasTouch = true;  
  6.   clickType = "touchend";  
  7. }else{  
  8.   hasTouch = false;  
  9.   clickType = click;  
  10. }  


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

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


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

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

0 件のコメント:

コメントを投稿