首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何暂时禁用字符移动MelonJS?

如何暂时禁用字符移动MelonJS?
EN

Stack Overflow用户
提问于 2014-11-01 01:03:36
回答 1查看 229关注 0票数 2

我正在用Melon.Js开发一个游戏,在它加载的画布上,我创建了一个聊天窗口。问题是,当我输入时,如果我按AWDS键,字符就会移动。有没有人知道如何暂时禁用(只要聊天窗口有焦点)字符移动?

"game.html“

代码语言:javascript
复制
<div ng-controller="ChatController">
<div class="div-chat">
    <span ng-repeat="msj in chats | orderBy: 'createdAt'"> <b ng-class=""> {{msj.nick}} : </b> {{msj.mensaje}} <br></span>
</div>
<input class="form-control" type="text" ng-model="mensaje"  id="msjChat">
<button type="submit" class="btn btn-default" id="btn_enviar" ng-click="envMsj()">Enviar</button>

"player.js“

代码语言:javascript
复制
me.input.preventDefault;
me.input.bindKey(me.input.KEY.LEFT, 'left', false,false);
me.input.bindKey(me.input.KEY.A, 'left', false,false);
me.input.bindKey(me.input.KEY.RIGHT, 'right', false,false);
me.input.bindKey(me.input.KEY.D, 'right', false,false);
me.input.bindKey(me.input.KEY.UP, 'up', false,false);
me.input.bindKey(me.input.KEY.W, 'up', false,false);
me.input.bindKey(me.input.KEY.DOWN, 'down', false,false);
me.input.bindKey(me.input.KEY.S, 'down', false,false);

我尝试在输入中使用“焦点”,但我不能禁用MelonJS画布中的动作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-08 14:26:02

在输入文本中调用keyUp或keyDown事件时,可以使用keyDown方法,在输入文本中键入消息。这将停止事件的传播,keyUp或keyDown事件永远不会到达melonJS侦听器。

我让你用角。可以实现对元素调用此方法的指令。这是一个示例代码。

在您的javascript中:

代码语言:javascript
复制
app.directive('chat', function () {
  return {
    restrict: 'A',
    link: function (scope, elem, attrs) {
      elem.bind('keydown', function (e) {
          e.stopImmediatePropagation();
          return false;
      });
      elem.bind('keyup', function (e) {
          e.stopImmediatePropagation();
          return true;
      });
    }
  };
});

在HTML中:

代码语言:javascript
复制
<input chat class="form-control" type="text" ng-model="mensaje"  id="msjChat">
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26685328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档