在另一个函数上检测 mousedown 和 touchstart pageX

Detect mousedown and touchstart pageX on another function

我有一个检测鼠标或触摸的事件,并使用 setTimeout 将此事件发送到另一个函数。

我检测鼠标或触摸事件没有问题,我不能做的是将触摸事件发送到函数。

$(divst + ' #sortable1').on('touchstart mousedown',function(e){
    e.preventDefault();
        setTimeout(function(){
                    StarTrans(e); // <- sending event
        },200);
});
function StarTrans(e){
    if(e.pageX==='undefined'){ // this does not work
        $(dtarget).offset({left:e.changedTouches[0].pageX-33,top:e.changedTouches[0].pageY-58});
        $('#titring').html(e.changedTouches[0].pageX + ',' + e.changedTouches[0].pageY);
    }else{ // this works
        $(dtarget).offset({left:e.pageX-33,top:e.pageY-58});
        $('#titring').html(e.pageX + ',' + e.pageY);
    }
}

mousedown 按预期工作,touchstart returns 'undefined'.

我尝试了这些事件来获取 pageX

谢谢!

首先, if(e.pageX==='undefined'){ 这是不正确的。更好 if (typeof e.pageX == 'undefined') { 如果你需要那个条件,更好 if (e.type == 'touchstart') {.