UNPKG

laya-coreui-es

Version:

laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改

38 lines (37 loc) 1.47 kB
import { Event } from "./Event"; import { ILaya } from "../../ILaya"; export class KeyBoardManager { static __init__() { KeyBoardManager._addEvent("keydown"); KeyBoardManager._addEvent("keypress"); KeyBoardManager._addEvent("keyup"); } static _addEvent(type) { ILaya.Browser.document.addEventListener(type, function (e) { KeyBoardManager._dispatch(e, type); }, true); } static _dispatch(e, type) { if (!KeyBoardManager.enabled) return; KeyBoardManager._event._stoped = false; KeyBoardManager._event.nativeEvent = e; KeyBoardManager._event.keyCode = e.keyCode || e.which || e.charCode; if (type === "keydown") KeyBoardManager._pressKeys[KeyBoardManager._event.keyCode] = true; else if (type === "keyup") KeyBoardManager._pressKeys[KeyBoardManager._event.keyCode] = null; var target = (ILaya.stage.focus && (ILaya.stage.focus.event != null) && ILaya.stage.focus.displayedInStage) ? ILaya.stage.focus : ILaya.stage; var ct = target; while (ct) { ct.event(type, KeyBoardManager._event.setTo(type, ct, target)); ct = ct.parent; } } static hasKeyDown(key) { return KeyBoardManager._pressKeys[key]; } } KeyBoardManager._pressKeys = {}; KeyBoardManager.enabled = true; KeyBoardManager._event = new Event();