2014-12-20 106 views
1

將錘子事件綁定到元素時,事件也會由其子元素觸發。使用stopPropagation防止事件冒泡似乎不起作用。阻止孩子觸發hammer.js中的父事件

HTML:

<div id="parent"> 
    <div id="child"></div> 
</div> 

JS:

var hammertime = new Hammer(document.getElementById('parent')); 

hammertime.on('tap', function(e) { 
    e.srcEvent.stopPropagation(); 
    alert('Clicked on ' + e.target.id); 
}); 

見的jsfiddle例如:http://jsfiddle.net/qqvyqzgh/3/

缺少什麼我在這裏?

回答

0

您可以檢查事件的目標是否爲父元素。

var element = document.getElementById('parent'); 
var hammertime = new Hammer(element); 

hammertime.on('tap', function (e) { 
    if(e.target === element) { 
     alert('Clicked on ' + e.target.id); 
    } 
}); 

這是your updated fiddle

相關問題