我有div滑块,它不能正常工作但在PC浏览器上工作正常。它无法正常工作,因为我已经使用了onclick事件。
但是当我添加时,
$('.sliderImage').live("click touchstart", function (event) {
alert('click event is ' + event.type);
});
这在html所以所有div点击时首先这个警报工作,div正在移动...删除此功能后移动不起作用。是否有任何其他方法来绑定要触摸的元素。
答案 0 :(得分:1)
正如杰克所说,使用“on”代替“live”作为绑定方法。您可能需要考虑检测设备是否支持触摸并将其用作绑定的基础。某些设备会触发click和touchstart,从而导致无法预测的效果。
/* Touch event support */
utils.POINTER_EVENT = (function() {
//check if the browser supports touch events
var supportsTouch = 'createTouch' in document;
//base our event names on the result...
var obj = {
START: (supportsTouch) ? 'touchstart' : 'mousedown',
MOVE: (supportsTouch) ? 'touchmove' : 'mousemove',
END: (supportsTouch) ? 'touchend' : 'mouseup',
getPointerPosition: function(ev) { return { x: (supportsTouch) ? ev.touches[0].pageX : ev.pageX, y: (supportsTouch) ? ev.touches[0].pageY : ev.pageY }; }
};
return obj;
})();
然后绑定到utils.POINTER_EVENT