У меня возникли небольшие проблемы, потому что запуск события для элемента также вызовет событие, связанное с его родительским элементом, как показано ниже.
var template = new Ractive({
el: 'wrapper',
template: '<div on-click="open">OPEN<div on-click="close">CLOSE</div></div>'
});
template.on({
open: function(e) {
alert('opening');
},
close: function() {
alert('closing');
}
});
div > div {
display: inline-block;
padding: 10px;
background: rgba(0, 0, 0, .3);
padding: 10px 10px 10px 50px;
cursor: pointer
}
<script src="https://cdn.ractivejs.org/latest/ractive.js"></script>
<div id="wrapper"></div>