[英]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/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.