2014-12-20 3 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.