我有一個問題,即一個避免雙重事件jQuery的停止雙重事件
所以開始與我有一段代碼觸發
jQuery(window).trigger('swipeForward');
所以這個監聽這個觸發
jQuery(window).on('swipeForward', swipeHandlerNext);
滑動處理程序的想法是,使用戶不能滑動兩次並創建雙重事件
這將然後執行swipeHandlerNext功能
function swipeHandlerNext(event) {
// If event isn't already marked as handled, handle it
if(event.handled !== true) {
// Kill event handler, preventing any more clicks
jQuery(".pageSize").off("swipeForward");
// Do your stuff here
pageSize = jQuery(".mainHeader").width();
slide("forward", pageSize);
console.log(" swipe complete page forward via swipe");
// Mark event as handled
event.handled = true;
}
return false;
}
這顯然執行滑動功能。這是一個有.animate命令
function slide(data, pageSize) {
if (!pageSize) {
pageSize = jQuery(".mainHeader").width();
}
var promise = calcLeft(data, pageSize);
jQuery.when(promise).then(function(result) {
console.log(result);
jQuery('#pageHolder').delay(500).animate({
left: result
}, 400, function() {
console.log("animation started");
calcNav(pageSize);
calcPage(pageSize);
jQuery(".pageSize").on("swipeForward", swipeHandlerNext);
console.log("animation complete");
});
});
}
然而,它不是防止雙重幻燈片。
感謝所有幫助
嗨..謝謝..這個問題真的源於這裏.. http://stackoverflow.com/questions/14996012/jquery-animate-periodocially-not-running任何想法?我拉我的頭髮 – Dan 2013-02-22 00:56:47
@丹整體來說,它似乎是同一個問題。用當前問題中描述的問題的可能解決方案更新了我的答案。看看這些是否有幫助。 – Boaz 2013-02-22 01:02:56
嗨 - 我現在正在所有的地方使用窗口。是的,我在那裏很厚。它不能在某個時間工作的原因雖然很奇怪。這可能與我的刷卡代碼有關嗎?看到我使用功能幻燈片兩個刷卡事件和點擊。我真的沒有得到它是如何工作的,有時候並不是 - 特別是當事件被排序時 – Dan 2013-02-22 01:05:42