-1

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

感谢任何建议。

4

3 回答 3

7

如果您只给这些元素一个类(我要.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 语句只会在移动设备(Android、webOS、iPhone、iPad、iPod、Blackberry)上为真

请注意

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

也可以写成:

$(this).data('slide');
于 2013-06-14T08:47:46.007 回答
0

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

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

于 2013-06-14T08:47:37.473 回答
0

你可以试试

MatchMedia.js

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

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

于 2013-06-14T08:48:57.840 回答