canvas的点击
本帖最后由 2233@ 于 2023-3-20 12:38 编辑大家好,想问一下有谁知道canvas里的画面要怎么点击吗,而且是要在手机模式下的触碰才行。
像B站的异想少女这个画面:https://mall.bilibili.com/robotgirl/ ```js
{
key: "initEvent",
value: function(e) {
var t, i = arguments.length > 1 && void 0 !== arguments ? arguments : null;
this._event._stoped = !1,
this._event.nativeEvent = i || e,
this._target = null,
this._point.setTo(e.pageX || e.clientX, e.pageY || e.clientY),
this._stage._canvasTransform && (this._stage._canvasTransform.invertTransformPoint(this._point),
this.mouseX = this._point.x,
this.mouseY = this._point.y),
this._event.touchId = e.identifier || 0,
this._tTouchID = this._event.touchId,
(t = Mt.I._event)._stoped = !1,
t.nativeEvent = this._event.nativeEvent,
t.touchId = this._event.touchId
}
}
```
```js
case "touchcancel":
MouseManager._isTouchRespond = !0,
this._isLeftMouse = !0;
var a = e.changedTouches;
for (t = 0,
i = a.length; t < i; t++) {
if (n = a,
MouseManager.multiTouchEnabled || n.identifier == this._curTouchID)
this._curTouchID = NaN,
this.initEvent(n, e),
this._checkAllBaseUI(this.mouseX, this.mouseY, this.onMouseUp) || this.onMouseUp(null)
}
break;
```
看代码来说是触发事件之后会尝试读取clientX和clientY
其他按常规的事件调用就好了 var eve =document.createEvent("MouseEvent");
eve.initMouseEvent("mousedown", true, true, window, 1, 0, 0, 111,222, false, false, false, false, 0, null);
document.querySelector("#layaCanvas").dispatchEvent(eve);
不太懂,所以是使用这个事件吗,但我返回false@李恒道 李恒道 发表于 2023-3-20 15:01
```js
{
key: "initEvent",
抱歉是我傻了,只down没有up才会false,谢谢大佬 2233@ 发表于 2023-3-20 16:29
抱歉是我傻了,只down没有up才会false,谢谢大佬
哥哥搞定了吗 李恒道 发表于 2023-3-20 17:45
哥哥搞定了吗
哥哥搞定了,这个initMouseEvent在油猴被弃用了只能用在控制台,有其他的吗
eve.initMouseEvent("mouseup", true, true, window, 1, 0, 0, 369,574 ,false, false, false, false, 0, null);
2233@ 发表于 2023-3-20 18:21
哥哥搞定了,这个initMouseEvent在油猴被弃用了只能用在控制台,有其他的吗
eve.initMouseEvent ...
我个人是喜欢new Event之后dispatch进去 李恒道 发表于 2023-3-20 17:45
哥哥搞定了吗
我换成这种event = new MouseEvent('mouseup', {
'cancelBubble': true,
'cancelable': true,
"clientX":543,
"clientY":568,view:window,detail:1
}),不知道为什么不行
李恒道 发表于 2023-3-20 18:27
我个人是喜欢new Event之后dispatch进去
可以了哥哥,不知道刚才哪里写错了,现在可以了,这个币要怎么给你呀 2233@ 发表于 2023-3-20 19:08
可以了哥哥,不知道刚才哪里写错了,现在可以了,这个币要怎么给你呀
我也不知道
没事
哥哥好好学
也可以尝试解答一下其他人的问题~
页:
[1]
2