【问题标题】:AngularJS ng-keypress not triggeringAngularJS ng-keypress 未触发
【发布时间】:2015-12-28 23:55:37
【问题描述】:

我在尝试在 AngularJS 中实现 ng-keypress 时遇到了一些问题。我已经在这里看过另一个帖子,但仍然无法正常工作。

这是我的 HTML 代码:

@extends('app')
@section('content')
<div ng-controller="GameController">
<div id="chatZone"> 
        <form action="#" method="get" id="id_form_chat">
            <input type="text" id="m" autocomplete="off"  ng-model="chatMsg" ng-ng-keypress="keyPressMsg($event)">
        </form>

        <ul id="messages"><li ng-repeat="m in chatMessages track by $index">@{{m}}</li></ul>
    </div>
</div>
@endsection('content')

我的 Angular 代码:

(function(){
"use strict";   
var module = angular.module('memoryGame', []);

function GameController($scope, $http, $timeout) {
        $scope.keyPressMsg = function($event){
        console.log("success");
        };

}module.controller('GameController', ['$scope', '$http','$timeout',       GameController]);
})();

编辑1: 抱歉,问题是当我在输入框中更改文本时,控制器中的功能不会自行触发.. 我已经编辑了 angular 和 html 代码,如果你能看一下我会很棒的

我没有在控制台上捕捉到任何东西

EDIT2:解决了抱歉拼错了一个单词..

【问题讨论】:

  • 不清楚您的问题是什么,但是当添加到 plunker 时,此代码可以正常工作,包括一个基本的角度模块和控制器。按“Enter”肯定会触发成功。如果这在您的代码中不起作用,您可能需要提供更多信息。
  • @Claies 很抱歉没有很好地表达自己,如果你能再看看我的代码并帮助我找出问题所在,我会很高兴的......谢谢

标签: javascript angularjs


【解决方案1】:

您可以通过$event.which获取按键代码,因此将$event.keyCode == 13更改为$event.which === 13,您的问题就解决了

【讨论】:

  • 对不起,我没有正确解释自己。问题是我在输入框中输入时我的函数没有触发
  • 这可能是因为您使用的是ng-ng-keypress 指令而不是ng-keypress 指令。
  • 天哪,谢谢.. 对不起,我正在复制/粘贴,但没有注意到.. 就是这样..
猜你喜欢
  • 2020-12-14
  • 2013-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-13
相关资源
最近更新 更多