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

标签 javascript variables events

不确定如何提出问题,需要将事件类型之类的东西分配给变量,然后使用它。例如:

mx = ('ontouchstart' in document.documentElement) ? event.changedTouches[0].pageX : event.pageX;

然后:

function fn(e) {
  return mx - elem1.getBoundingClientRect().left;
}

e -事件对象转到 mx 并返回分配的早期事件类型(因此 мхe .changedTouches[0].pageXe.pageX)。

可以这样做吗? (否则,必须检查 ontouchstart 是否支持鼠标移动的每个 px...)

最佳答案

如果您不想在每次迭代时进行 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
     }
  }
}());

关于javascript - JS。将事件属性类型分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44682029/

相关文章:

sql - T-SQL 语句不会接受变量作为授权语句中的角色名称

javascript - 索引文件到模块实例的交互

javascript - childrenWithProps : undefined JS React

ruby - Ruby 中的自增变量

javascript - 如何更改b-table Vue JS中列数据的颜色

python - 全局/内部变量冲突? (Python)

c# - C# 类订阅自己发布的事件的形式很差吗?

java - Swing - 计时器不按时间间隔触发事件

java - 输出 HTML 或纯文本的 HTML + Javascript 渲染器?

javascript - 尝试将 JavaScript 对象转换为数组