我想为移动设备禁用部分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);
});
感谢任何建议。
答案 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)