JS。将事件属性类型分配给变量

时间:2017-06-21 16:54:57

标签: javascript variables events

不确定如何制定问题,需要将类似事件类型的内容分配给变量然后使用它。例如:

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].pageXe.pageX)。

有可能吗? (否则,必须检查每个px鼠标移动的ontouchstart的支持...)

1 个答案:

答案 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
     }
  }
}());