移动Webkit和Hammer JS上的多个元素响应触摸事件

我正在使用Hammer JS库开发一个小型项目,我在Chrome开发工具模拟器上遇到了一个问题,并在两个iOS 7设备上进行了debugging。 它似乎在桌面浏览器上正常工作。 小提琴在这里: http : //jsfiddle.net/w80baz5g/5/和更多信息下面。

我有一组元素,像这样:

<div> <img class="item" id="item0" src="http://placehold.it/300x300"> <img class="item" id="item1" src="http://placehold.it/300x300"> <img class="item" id="item2" src="http://placehold.it/300x300"> </div> 

和Hammer JS听一个水龙头事件:

 function initItems(el) { var itemToTap = new Hammer.Manager(el, itemOptions); itemToTap.add( new Hammer.Tap() ); itemToTap.on("tap", function(event) { console.log("tapped: " + event.target); }); } $(".item").each(function(){ var itemToInit = $(this)[0]; initItems(itemToInit); }); 

在桌面浏览器(Chrome,Safari)中,一切似乎都很好,在移动设备上,只有三个元素中的第一个似乎响应了点击事件,但控制台显示它响应所有三个元素? 第二和第三个元素根本没有响应。

小提琴: http : //jsfiddle.net/w80baz5g/5/

我错过了什么吗? 这些事件/元素是由移动浏览器区别对待的吗? 他们为什么不单独回应点击事件?

非常感谢!

代替:

 $(".item").each(function(){ var itemToInit = $(this)[0]; initItems(itemToInit); }); 

尝试使用:

 $(".item[id^='item']")... 

要么:

 $("[id^='item']")... 

看看会发生什么