不确定如何制定问题,需要将类似事件类型的内容分配给变量然后使用它。例如:
mx = ('ontouchstart' in document.documentElement) ? event.changedTouches[0].pageX : event.pageX;
然后:
function fn(e) {
return mx - elem1.getBoundingClientRect().left;
}
即e
-event对象转到mx
并返回指定的早期事件类型(以便мх
为e.changedTouches[0].pageX
或e.pageX
)。
有可能吗? (否则,必须检查每个px鼠标移动的ontouchstart的支持...)
答案 0 :(得分:1)
如果您不想对每次迭代执行if检查,那么只需使用您想要的版本定义该函数。
var fn = (function () {
if ('ontouchstart' in document.documentElement){
return function(event){
return event.changedTouches[0].pageX - elem1.getBoundingClientRect().left
}
} else {
return function(event){
return event.pageX - elem1.getBoundingClientRect().left
}
}
}());