如何阻止JS功能在移动设备上运行?

时间:2014-02-04 14:59:13

标签: javascript jquery function

我运行了以下代码,如果您使用的是移动设备,我需要停止运行

jQuery(document).ready(function($){
    var inHeight = $("#wrapper").innerHeight();
    $("#wrapper .col").each(function(){
        $(this).height(inHeight+"px");
        $(this).find('.content').height((inHeight-60)+"px");
    });
});

我可以使用像if($(window).width()<600){ /* do something */ }这样的东西吗?如果是这样的话,我应该在弯曲的括号之间写些什么?

谢谢!

2 个答案:

答案 0 :(得分:5)

您可以尝试:

if(!(/iPhone|iPad|iPod|Android|webOS|BlackBerry|Opera Mini|IEMobile/i.test(navigator.userAgent) )) {

jQuery(document).ready(function($){
    var inHeight = $("#wrapper").innerHeight();
    $("#wrapper .col").each(function(){
        $(this).height(inHeight+"px");
        $(this).find('.content').height((inHeight-60)+"px");
    });
}); 

}

因此,如果移动设备,则运行代码

使用$(window).width这不是一个很好的解决方案。想想如果我不使用移动设备只是在我的浏览器窗口中更改尺寸会发生什么

答案 1 :(得分:2)

试试这个:

var isMobile = {
        Android: function() {
            return navigator.userAgent.match(/Android/i);
        },
        BlackBerry: function() {
            return navigator.userAgent.match(/BlackBerry/i);
        },
        iOS: function() {
            return navigator.userAgent.match(/iPhone|iPad|iPod/i);
        },
        Opera: function() {
            return navigator.userAgent.match(/Opera Mini/i);
        },
        Windows: function() {
            return navigator.userAgent.match(/IEMobile/i);
        },
        any: function() {
            return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
        }
    };



if( isMobile.any() ) {....} else { // place your code here }