禁用移动设备的jQuery

时间:2013-06-14 08:41:39

标签: jquery mobile

我想为移动设备禁用部分jQuery脚本,下面是我要禁用的代码:

$('#inner-slide1').click(function(e) {
    e.preventDefault();
    dataslide = $(this).attr('data-slide');
    goToByScroll(dataslide);
});

$('#inner-slide2').click(function(e) {
    e.preventDefault();
    dataslide = $(this).attr('data-slide');
    goToByScroll(dataslide);
});

$('#inner-slide3').click(function(e) {
    e.preventDefault();
    dataslide = $(this).attr('data-slide');
    goToByScroll(dataslide);
});

$('#inner-slide4').click(function(e) {
    e.preventDefault();
    dataslide = $(this).attr('data-slide');
    goToByScroll(dataslide);
});

$('#inner-slide5').click(function(e) {
    e.preventDefault();
    dataslide = $(this).attr('data-slide');
    goToByScroll(dataslide);
});

感谢任何建议。

3 个答案:

答案 0 :(得分:6)

如果你只需要给这些元素一个类(我要去.inner-slide)你只需要做一次就重复一个函数:

var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ? true : false;

$('.inner-slide').click(function(e) {
    if(!isMobile) {
        e.preventDefault();
        dataslide = $(this).attr('data-slide');
        goToByScroll(dataslide);
    }
});

if语句只会在移动设备(Android,webOS,iPhone,iPad,iPod,Blackberry)上生效

请注意

$(this).attr('data-slide');

也可以写成:

$(this).data('slide');

答案 1 :(得分:0)

使用http://detectmobilebrowsers.com/中的代码使用JS代码来检测移动 - 非常全面的检测......需要进行一些修改,因为它们的功能将重定向......但应该很容易做到:)< / p>

此处还有另一个好的答案:disable script for mobiles

答案 2 :(得分:0)

您可以尝试

  

MatchMedia.js

https://github.com/paulirish/matchMedia.js

的详细信息

您可以根据特定的视口大小加载插件。