我正在用javascript编写一些代码:
var el = document.getElementById('some-div');
el.ontouchstart = function(e){
el.innerHTML = "touch start";
};
el.ontouchend = function(e){
el.innerHTML = "touch end";
};
el.ontouchmove = function(e){
el.innerHTML = "touch moved";
};
此代码在IOS / safair和android 2.x.x上运行良好。在android 4.x上(我试过4.0.4和4.1),touchend在touchmove之后没有触发。如果我点击屏幕,请不要移动我的手指,将触发touchend。
如何解决这个问题?
这是Chrome的错误,详细信息在这里:http://code.google.com/p/chromium/issues/detail?id=152913
答案 0 :(得分:2)
我相信如果你在touchstart或touchmove中调用e.preventDefault(),它将阻止事件在它到达你的ontouchend处理程序之前被吸收。我现在没有设备可以尝试它,但是:)