0
我試圖捕捉時間的觸摸的觸摸持續時間開始和結束之間經過,並不能似乎得到一致的行爲,不管我怎麼努力。捕捉iPad上
我已經嘗試了一些不同的解決方案,但行爲始終是零星的。這是我目前正在嘗試的一個例子(下面)。
我必須提醒到位多空觸摸,但似乎只是在結果沒有一致性。
我確實看到了類似的問題已經在這裏問過「得到最久期,一個觸摸式的JavaScript的」,但該解決方案產生相同的不確定的結果。
任何建議將非常感激。
$(document).ready(function() {
var $IndividualItem = $(".wrapperWithHover li a");
var touchStartTime;
var touchStartLocation;
var touchEndTime;
var touchEndLocation;
$IndividualItem.bind('touchstart', startOfTouch);
$IndividualItem.bind('touchend', endOfTouch);
$IndividualItem.bind('touchmove', endOfTouch);
function startOfTouch(e) {
e.preventDefault();
var d = new Date();
touchStartTime = d.getTime();
}
function endOfTouch(e) {
e.preventDefault();
var d = new Date();
touchEndTime= d.getTime();
doTouchLogic();
}
function doTouchLogic() {
var duration = touchEndTime - touchStartTime;
if (duration <= 1500) {
alert('1');
}
if (duration > 1500) {
alert('2');
}
duration = null;
}
$('.wrapperWithHover li a').each(function() {
var timeout,
longtouch;
$(this).bind('touchstart', function() {
timeout = setTimeout(function() {
longtouch = true;
}, 1000);
}).bind('touchend', function() {
if (longtouch) {
// It was a long touch.
}
longtouch = false;
clearTimeout(timeout);
});
});
});
這裏是HTML的一個小剪斷我使用測試。(不得不刪除一個的HREFs如計算器從他們提交的問題有阻止我。)
- 測試
- 測試
- 測試
感謝您的快速回答,但實際上在我開始體驗這個問題後,我實際上已經將這件事告訴了他們。沒有它也存在問題。 – Joe 2012-02-12 04:29:50