我有两个像这样的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
});
如何根据点击事件获得正确的值? (不要担心事件的不同。)
答案 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。