jQuery .on 中的触摸事件?

jQuery Touch Events within .on?

有什么方法可以将touchstart等移动触摸事件绑定到jQuery.on()方法吗?

我目前有一个我开发的拖放选择区域应用程序,它可以检测点击和拖动动作:

$('.foo').on({
    mousedown: function(e){
        ...
    }
});

我知道您可以绑定这些事件来处理事件,但以某种方式组合等效事件 (touchstart > mousedown) 会很有用,这是否有可能仅在绑定中触发 mousedown 事件touchstart 事件?

我相信这可能是您所需要的。请注意,在 mousemove 处理程序中,您需要知道此时鼠标按钮是否按下(可以通过在 start/end 事件处理程序中设置布尔变量来实现)。

function handleEventStart(e){
  //something
}

function handleEventMove(e){
  //something
}

function handleEventEnd(e){
  //something
}

var $foo = $('.foo');
$foo.on('mousedown touchstart', handleEventStart);
$foo.on('mousemove touchmove', handleEventMove);
$foo.on('mouseup touchend touchcancel', handleEventEnd);