2011-07-25 36 views
3

我正在使用jqtouch製作觸控優化的網站。對於iOS,我將「點按」綁定到點擊監聽器,但這不會在Android中註冊。我嘗試使用touchend,它可以工作,但它會覆蓋任何類型的拖動(當用戶試圖做的所有事情都是滾動時,請點擊項目)。我將綁定到Android的什麼?這裏是我的代碼:Javascript等效於iOS的「tap」事件,但對於android

var userAgent = navigator.userAgent.toLowerCase(); 
var isiPhone = (userAgent.indexOf('iphone') != -1 || userAgent.indexOf('ipad') != -1 || userAgent.indexOf('ipod') != -1) ? true : false; 
var isAndroid = (userAgent.indexOf('android') != -1) ? true : false; 

clickEvent = isiPhone ? 'tap' : 'click'; 
//NEED TO SET THIS UP FOR ANDROID, BUT 'TAP' DOESN'T WORK 


$('.work_img').bind(clickEvent, function(event){ 
    //DO STUFF ON CLICK/TAP 
}); 
+0

不結合在Android'click'做工精細? –

+0

你解決了嗎? – rashidnk

回答

0

點擊事件我的Android 4.1的三星口袋裏的手機上工作

$(function() { 
     $('#tapme').bind('tap', function() { 
      $(this).parent().after('<li>tapped!</li>') 
     }); 
    }); 

它的工作原理,只有當我包括這裏面

$(function() { 
    --- bind here -- 
}); 

,也針對Android,添加此line

var jQT = new $.jQTouch({  
     useFastTouch: false 
}); 

當u使用jQuery請確保這三個包括(順序問題!!)

<script src="jquery-1.7.min.js" type="text/javascript"></script> 
<script src="jqt.min.js" type="text/javascript"></script> 
<script src="jqtouch-jquery.min.js" type="text/javascript"></script> 

與仄

<script src="zepto.min.js" type="text/javascript" ></script> 
<script src="jqt.min.js" type="text/javascript" ></script>