Eu uso o Zepto para um projeto móvel e esta foi a minha solução para corrigir esse comportamento em dispositivos Android.
Detectar suporte de toque:
if ( !!('ontouchstart' in window) ) {
Wrapper para a função Zepto:
$.fn._on = $.fn.on;
$.fn.on = function(event, selector, data, callback, one) {
Remova o evento ‘click’ que causa o problema:
if (event.indexOf("click") > -1) {
event = event.replace("click","");
}
E escopo de retorno:
return $.fn._on.call(this, event, selector, data, callback, one);
Código completo:
if ( !!('ontouchstart' in window) ) {
$.fn._on = $.fn.on;
$.fn.on = function(event, selector, data, callback, one) {
if (event.indexOf("click") > -1) {
event = event.replace("click","");
}
return $.fn._on.call(this, event, selector, data, callback, one);
};
}
https://github.com/emi420/Mootor/blob/master/source/js/clickfix.js