gpt4 book ai didi

javascript - 更改触摸 :TouchList is not a property?

转载 作者:行者123 更新时间:2023-12-01 01:57:42 25 4
gpt4 key购买 nike

我试图理解为什么changedTouches不是事件的可测试属性。例如,如果我监听 touchstart 事件(通过 Chrome->检查并模拟移动设备),例如

 $(document).on('touchstart', function(event){
console.log(event.hasOwnProperty('originalEvent')) //logs true
正如预期的那样。

现在,如果我记录整个事件,我可以清楚地看到它有 originalEvent.changedTouches 但测试该属性将失败

      console.log(event.originalEvent.hasOwnProperty('changedTouches')) //logs false

但是我可以通过执行

列出 changedTouches
      console.log(event.originalEvent.changedTouches);

/*
logs:
hangedTouches: TouchList(1)​​
0: Touch { identifier: 0, screenX: 753, screenY: 746, … }​​
length: 1
*/

我还可以测试这两个属性都是对象

 console.log(typeof(event.originalEvent), typeof(event.originalEvent.changedTouches)); //logs object object

问题是,为什么我不能使用 hasOwnProperty 测试此属性?

最佳答案

来自MDN :

The hasOwnProperty() method returns a boolean indicating whether the object has the specified property as its own property (as opposed to inheriting it).

尝试:

console.log('changedTouches' in event.originalEvent)

关于javascript - 更改触摸 :TouchList is not a property?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50883574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com