I've:
backdrop = document.getElementById('backdrop');
dialog = document.getElementById('dialog');
dialog_body = document.querySelector('#dialog .body');
document.addEventListener('click', function(e) {
if ( matches.call(e.target, '[data-show=dialog]')) {
    buoy.addClass(backdrop, 'fadeIn');
    buoy.addClass(dialog, 'fadeIn');
    var href = e.target.parentNode.getAttribute('action');
    dialog_body.innerHTML = '<div>FOOOOO</div>';
    [].forEach.call(document.querySelectorAll('[data-hide=dialog]'), function(el) {
      el.addEventListener('click', function() {
        buoy.removeClass(backdrop, 'fadeIn');
        buoy.removeClass(dialog, 'fadeIn');
      })
    })
}
}, false);
and [data-show=dialog] is:
<button type="sumit" class="btn xs default" data-show="dialog">
    <i class="ellipsis-v"></i>
</button>
If I click on
<i class="ellipsis-v"></i>
the code doesn't work..
If I click out of
<i class="ellipsis-v"></i>
the code works perfectly..
Also if I have:
<button type="sumit" class="btn xs default" data-show="dialog">
    <i class="ellipsis-v"></i>
    <span>fooo</span>
</button>
If I click on
<i class="ellipsis-v"></i>
or
<span>fooo</span>
the code doesn't work..
If I click out of
<i class="ellipsis-v"></i>
or
span>fooo</span>
the code works perfectly..
What is the problem?
 
    