2017-05-15 63 views
0

我有一個jQuery插件附加到一個元素,我想停止該插件只能在移動設備上工作。我還附加了一個插件,一個燈箱,但我想留下來,無論是否有人在移動或桌面上。僅在手機上禁用jQuery插件?

這是我想停止對移動插件:https://github.com/mattbryson/TouchSwipe-Jquery-Plugin

這裏是代碼:

// Adding in the plugin 
$(function() { 
    $(playlist).swipe({ 
     swipeStatus:function(event, phase, direction, distance, duration) { 
      // code for swipy stuff here .... 
      // ... 
      // ... 
     } 
}); 

// Trying to remove the plugin 
window.onresize = function(event) { 
     var deviceWidth = $(window).width(); 

     if(deviceWidth <= 768) { 
      $(playlist).swipe({ 
       swipeStatus:function(event, phase, direction, distance, duration) { 
        event.preventDefault(); 
        event.stopPropagation(); 
       }, 
       threshold: 0, 
       fingers:'all' 
      }); 
     } 
    }; 

讓我知道如果你有任何想法。我也嘗試分離播放列表並將其重新附加到DOM,但也沒有工作。

謝謝!

回答

0

要做到這一點首先,你可以檢查它是否是一個移動設備瀏覽器使用 testuseragent,然後你可以在它停止了jQuery。

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


if(!isMobileBrowser) { 
    $(playlist).swipe({ 
      swipeStatus:function(event, phase, direction, distance, duration) { 
       event.preventDefault(); 
       event.stopPropagation(); 
      }, 
      threshold: 0, 
      fingers:'all' 
     }); 
} 

想了解更多,可以考慮鏈接 know useragent

0

您可以驗證,如果user agent不是移動設備和初始化你的插件。

演示:

function isMobile() { 
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) 
return true; 
} 

if(!isMobile()) { 
    $(playlist).swipe({ 
     swipeStatus:function(event, phase, direction, distance, duration) { 
      event.preventDefault(); 
      event.stopPropagation(); 
     }, 
     threshold: 0, 
     fingers:'all' 
    }); 
}