簡體   English   中英

如何使Hammerjs事件僅觸發一次?

[英]How to make hammerjs events fire only once?

我正在使用最新版本的Hammerjs(1.0.6)。 他們擁有的jquery構建與requirejs相比有點麻煩,所以我只是在使用標准構建。

小提琴: http : //jsfiddle.net/mcfarljw/fDYx3/

如何使此點擊事件觸發一次,然后將其自身刪除? 我認為這本來就很簡單,但事實並非如此。 任何幫助將不勝感激!

var tapCount = 0;
Hammer($('#box')[0]).on('tap', function() {
    tapCount++
    $('#counter').text(tapCount);
    Hammer($('#box')[0]).off('tap');
});

您可以嘗試以下方法:

var tapCount = 0;
var callback = function() {
tapCount++
$('#counter').text(tapCount);
Hammer($('#box')[0]).off('tap',callback);
};
Hammer($('#box')[0]).on('tap', callback );

工作提琴: http : //jsfiddle.net/robertrozas/EuSK4/

要僅觸發一次事件,您需要存儲對綁定事件的管理器實例的引用,並使用同一實例取消綁定。

http://jsfiddle.net/a8f1p6pt/3/

var hInstance ;
var handler = function() {
    alert('Alert Once');
    hInstance.off('tap', handler);
};
hInstance = Hammer($('#box')[0]);
hInstance.on('tap', handler );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM