gpt4 book ai didi

javascript - Angular 触摸

转载 作者:行者123 更新时间:2023-11-27 23:33:25 27 4
gpt4 key购买 nike

这是我从触摸事件中获得的返回数据。明显缺少任何有用的触摸 X/Y 坐标 ( https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/changedTouches )。这是一个无可救药的普遍问题,但尽管如此,有什么想法吗?传递给触摸时执行的函数的“事件”对象:

{
"originalEvent": {
"isTrusted": true
},
"type": "touchstart",
"timeStamp": 1450388006795,
"jQuery203026962137850932777": true,
"which": 0,
"view": "$WINDOW",
"target": {},
"shiftKey": false,
"metaKey": false,
"eventPhase": 3,
"currentTarget": {},
"ctrlKey": false,
"cancelable": true,
"bubbles": true,
"altKey": false,
"delegateTarget": {},
"handleObj": {
"type": "touchstart",
"origType": "touchstart",
"data": null,
"guid": 2026,
"namespace": ""
},
"data": null
}

现在,这是 Canvas 中的 Angular UI 模式,但鼠标事件工作正常。顺便说一句,这是我的元素:

link: function(scope, element, attrs, model){
//scope.canvasElem = element[0].children[0].children[0];
scope.canvasElem = angular.element($('.touchScreen'))[0];
scope.ctx = scope.canvasElem.getContext('2d');

这是我如何绑定(bind)的示例:

element.bind('touchstart', scope.touchStart);

编辑,这里有一个 mousedown 事件对象用于比较:

{
"originalEvent": {
"isTrusted": true
},
"type": "mousedown",
"timeStamp": 1450389131400,
"jQuery20309114612976554781": true,
"toElement": {},
"screenY": 436,
"screenX": 726,
"pageY": 375,
"pageX": 726,
"offsetY": 81,
"offsetX": 41,
"clientY": 375,
"clientX": 726,
"buttons": 1,
"button": 0,
"which": 1,
"view": "$WINDOW",
"target": {},
"shiftKey": false,
"relatedTarget": null,
"metaKey": false,
"eventPhase": 3,
"currentTarget": {},
"ctrlKey": false,
"cancelable": true,
"bubbles": true,
"altKey": false,
"delegateTarget": {},
"handleObj": {
"type": "mousedown",
"origType": "mousedown",
"data": null,
"guid": 2025,
"namespace": ""
},
"data": null
}

最佳答案

看起来您正在使用 jQuery,或者至少是类似 jQuery 的实现。 jQuery 不会将所有触摸事件属性复制到规范化事件包装器。不过,您可以在 originalEvent 对象下找到它们。

originalEvent 属性包含 native 触摸事件,您可以根据规范使用该事件。

例如,这样的代码:

$('body').on('touchmove', function(e) {
// Access the original event like this:
console.log(e.originalEvent);
});

关于javascript - Angular 触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34344724/

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