请问下键盘事件的监听只能用stage么?其他对象监听不起作用,谢谢

Laya.stage.on(laya.events.Event.KEY_DOWN, this, this.onkeyDown);使用舞台监听有效,但是如果使用
var sp = new Sprite();
sp.width = 720; sp.height = 1280
Laya.stage.addChild(sp)
sp.on(laya.events.Event.KEY_DOWN, this, this.onkeyDown);
就不能监听到键盘事件呢,这是怎么回事呢?
已邀请:

Laya_Aaron

赞同来自: dandanqin

派发事件时若 Stage.focus 为空则只从 Stage 上派发该事件,否则将从 Stage.focus 对象开始一直冒泡派发该事件。所以在 Laya.stage 上监听键盘事件一定能够收到,如果在其他地方监听,则必须处在Stage.focus的冒泡链上才能收到该事件。

用户可以通过代码 Laya.stage.focus=someNode 的方式来设置focus对象。

用户可统一的根据事件对象中 e.keyCode 来判断按键类型,该属性兼容了不同浏览器的实现。

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作