我正在使用最新版本的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');
});
答案 0 :(得分:0)
你可以试试这个:
var tapCount = 0;
var callback = function() {
tapCount++
$('#counter').text(tapCount);
Hammer($('#box')[0]).off('tap',callback);
};
Hammer($('#box')[0]).on('tap', callback );
答案 1 :(得分:0)
要仅触发一次事件,您需要将引用存储到绑定事件的管理器实例中。使用相同的实例解除绑定。
https://github.com/rails/sprockets/blob/master/UPGRADING.md#publicassetsmanifest-abc123json-location
var hInstance ;
var handler = function() {
alert('Alert Once');
hInstance.off('tap', handler);
};
hInstance = Hammer($('#box')[0]);
hInstance.on('tap', handler );