禁用移动设备的jQuery

我想为移动设备禁用部分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); }); 

感谢任何建议。

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

 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语句只会在移动设备上生成true(Android,webOS,iPhone,iPad,iPod,Blackberry)

请注意

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

也可以写成:

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

使用来自http://detectmobilebrowsers.com/的代码使用JS代码来检测移动 – 非常全面的检测…将需要一些修改,因为它们的function将重定向…但应该很容易做:)

此处还有另一个很好的答案: 禁用手机脚本

你可以试试

MatchMedia.js

https://github.com/paulirish/matchMedia.js上有详细信息

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