在另一个函数上检测 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
- e.changedTouches[0].pageX
- e.targetTouches[0].pageX
- e.originalEvent.touches[0].pageX
- e.touches[0].pageX
- e.pageX
谢谢!
首先,
if(e.pageX==='undefined'){
这是不正确的。更好 if (typeof e.pageX == 'undefined') {
如果你需要那个条件,更好 if (e.type == 'touchstart') {
.
我有一个检测鼠标或触摸的事件,并使用 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
- e.changedTouches[0].pageX
- e.targetTouches[0].pageX
- e.originalEvent.touches[0].pageX
- e.touches[0].pageX
- e.pageX
谢谢!
首先,
if(e.pageX==='undefined'){
这是不正确的。更好 if (typeof e.pageX == 'undefined') {
如果你需要那个条件,更好 if (e.type == 'touchstart') {
.