Ended up doing this, where buttons
is the closest common ancestor. Works nice.
var buttons = document.getElementById('buttons');
buttons.addEventListener('touchstart', function(event) {
for (var i = 0; i < event.touches.length; i++) {
var touch = event.touches[i];
var elem = document.elementFromPoint(touch.pageX, touch.pageY);
switch (elem.id) {
case 'manuel':
serial.write('1');
break;
case 'rythme':
serial.write('2');
break;
case 'melodie':
serial.write('3');
break;
case 'sequenceur':
serial.write('4');
break;
}
}
});
buttons.addEventListener('touchend', function(event) {
var contains = false;
for (var i = 0; i < event.touches.length; i++) {
var touch = event.touches[i];
var elem = document.elementFromPoint(touch.pageX, touch.pageY);
if (elem.id === 'manuel') contains = true;
}
if (!contains) serial.write('0');
});