从Hammer中的元素数组中识别事件触发元素

时间:2014-06-23 09:10:48

标签: jquery hammer.js

我有两个像这样的html div:

<div class="div-class" data-val="1">Div 1</div>
<div class="div-class" data-val="2">Div 2</div> 
<div class="div-class" data-val="2">Div 2</div> 

使用jquery当我点击每个div时,我可以得到正确的data-val值。

var el = $('.div-class');
el.on('click', function(){
    alert($(this).data('val'));  //pop up value '1', '2' or '3' based on click
});

但是当我尝试使用Hammer进行事件双击时,如下所示,它会显示所有三个值而没有正确识别我的点击。

var el = $('.div-class');
Hammer(el).on('doubletap', function(){
    alert($(this).data('val')); //all three values are shown
});

如何根据点击事件获得正确的值? (不要担心事件的不同。)

1 个答案:

答案 0 :(得分:2)

Hammer处理程序函数作为参数传递event,因此您可以使用event.target

var el = $('.div-class');
Hammer(el).on('doubletap', function(event){
    alert($(event.target).data('val'));
});

有关您可以从event获取的有关属性的详细信息,请参阅“事件数据”&#39; Hammer docs

的部分