2014-11-24 63 views
0

我有一個角度的應用程序與fastclick,以便它會在平板電腦上快速響應。使用iOS8時,我們看到點擊延遲,因此我將iPad Mini連接到Safari開發工具,並看到Touch End Event和Click Event Dispatched之間的延遲爲300毫秒。我去創造的jsfiddle測試它沒有我的應用程序的其他部分,發現這一個已經創建:fastclick ipad仍然有300ms延遲

http://jsfiddle.net/billymoon/zrMxL/

new FastClick($("#fast")[0]); 
angular.module('MyApp', ['ui.bootstrap']); 

function EditingPageCtrl($scope) { 
    $scope.radioModelA = undefined; 
    $scope.radioModelB = undefined; 
    $scope.fast1 = "this field works quickly, because of fastclick..."; 
    $scope.fast2 = "this field is slow, because no fastclick"; 
    $scope.$watch('radioModelA', function (newValue, oldValue) { 
     //alert(newValue);  
    }); 
} 

我迷上一個高達Safari開發工具還,仍然可以看到該300ms的延遲。這個jsfiddle是否證明了fastclick的正確使用?如果是這樣,是否有一個原因,它仍然有延遲?

回答

0

這不是Angular風格,但可以嘗試在腳本的頂部添加這個頂部。

window.addEventListener('load', function() { 
    FastClick.attach(document.body); 
}, false); 

這適用於我在Angular應用程序。

+0

感謝您的注意 - 是的,我們的應用程序已經使用這種方法。我最終刪除了jquery,這有助於我們對angular和jquery的一些問題。此外,在將Yosemite與Safari Debug連接到iOS 8設備時,設備響應速度比未連接時慢得多。 – Joe 2014-11-25 16:59:50