Jquery - 检测移动浏览器的最佳方法? (鼠标按下/ touchmove)

时间:2012-07-05 17:56:08

标签: jquery mobile mousedown touchmove

我有一些Jquery滚动条。

对于桌面浏览器,我使用这种结构:

holder.bind('mousedown.rotate', function(e){
    //some actions  
    doc.bind('mousemove.dragrotate', function(e){
        //some actions          
    });
    doc.bind('mouseup.dragrotate', function(){
        //some actions  
        doc.unbind('.dragrotate');
    });
});

对于移动浏览器,它以这种方式工作:

holder.bind('touchmove', function(jQueryEvent) {
//some actions
});

确定移动borwsers的最佳方法是什么? 有没有办法为所有平台使用相同的功能?

THX

2 个答案:

答案 0 :(得分:3)

您可以使用navigator.userAgent来检查用户正在使用的浏览器...以下代码将是一个很好的起点。

if (navigator.userAgent.match(/Android/i)
    || navigator.userAgent.match(/iPhone/i)
    || navigator.userAgent.match(/iPad/i)
    || navigator.userAgent.match(/iPod/i)
    || navigator.userAgent.match(/BlackBerry/i)
    || navigator.userAgent.match(/webOS/i)) {
    // Mobile browser specific code here
}

Detect Mobile Browsers有一个JS文件,如果你想要更具体,你可以使用它。

答案 1 :(得分:1)

var is_touch_device = 'ontouchstart' in document.documentElement;

Detecting touch screen devices with Javascript