2014-12-20 2 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입니다.