I\'ve got a little web app that I made to play with Android\'s WebView functionality.
I\'ve got some divs that I use as buttons (with onclick
attributes
As the Google code is very complicated, I implemented my own using Mootools 1.3+:
Element.Events.touch =
{
base: 'touchend',
condition: function(e)
{
return ((new Date().getTime() - this.startT < 200) && this.valid) ? true : false;
},
onAdd: function(fn)
{
this.addEvent('touchstart', function(e)
{
this.valid = true;
this.startT = new Date().getTime();
this.startX = e.touches[0].clientX;
this.startY = e.touches[0].clientY;
});
this.addEvent('touchmove', function(e)
{
if ((Math.abs(e.touches[0].clientX - this.startX) > 10) || (Math.abs(e.touches[0].clientY - this.startY) > 10)) this.valid = false;
});
}
};
Just put this code on your page and now use touch event instead of click:
$('id').addEvent('touch', function()
{
// your code
});
It works by adding a touchend and touchstart event, if they happen in less than 200ms and the touch doesn't get too far it's a valid touch otherwise not.
It worked very well on 2.2 and 4.0