2013-06-14 7 views
0

Я хотел бы, чтобы отключить часть моего JQuery сценария для мобильных устройств, Heres код, который я хотел бы отключить:Отключить 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); 
}); 

Благодарен за любые предложения.

ответ

5

вы повторив функцию, в 5 раз, когда вам нужно сделать это только один раз, если вы просто дать те элементы класса (я собираюсь для .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); 
    } 
}); 

Условный оператор приведет лишь к истине на мобильном устройстве (Android, WebOS, iPhone, IPAD, IPod, Blackberry)

И обратите внимание, что

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

Можно также записать в виде:

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

Спасибо за это, это сработало. И да, вы правы, я добавил класс. – andbamnan

0

Использование кода из http://detectmobilebrowsers.com/ использовать код JS, чтобы обнаружить, если мобильное - очень всеобъемлющее обнаружение ... потребуется немного модификации, поскольку их функция будет перенаправлять ... но должен быть легко сделать :)

Также здесь есть еще один хороший ответ здесь: disable script for mobiles

Смежные вопросы