javascript - Firefox 中的 AngularJS 嵌套函数调用

标签 javascript angularjs firefox

我设置了一个简单的 fiddle ,通过在文本框中按 Enter 键应该显示警报。它在最新的 IE 和 Chrome 中工作正常,但在 Firefox 中不起作用:fiddle

HTML

<div ng-app="app" ng-controller="appCtrl as form">
    <input type="text" ng-keypress="form.ProcessSearchKeyPress($event)">
</div>

JavaScript:

var app = angular.module('app',[]);

// controller
app.controller('appCtrl', function () {

    this.Search = function ()
    {
        alert('search');
    };

    this.ProcessSearchKeyPress = function (event)
    {
        if (event.charCode == 13)
        {
            this.Search();
        }
    };

});

在 Firefox 中, Controller 中定义的搜索函数似乎永远不会被调用。我错过了什么或者它是一个错误吗?

提前致谢。

最佳答案

charCode 属性不是标准且已弃用。使用跨浏览器 keyCode,它也适用于 Firefox:

if (event.keyCode == 13) {
    this.Search();
}

演示:http://jsfiddle.net/prztey7m/3/

关于javascript - Firefox 中的 AngularJS 嵌套函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27843850/

相关文章:

javascript - 单击按钮后为拖放angularjs实现CSS3样式

javascript - 当 td 有多个项目时更新 Angular 表中的行

javascript - 在 Firefox 中获取剪贴板图像数据

javascript - jQuery 中是否有与 Ruby on Rails 的 to_query 方法等效的方法?

javascript - ES6 const 赋值中的意外行为

angularjs - Kendo UI 指令要求 jQuery 在 AngularJS 之前可用。请在文档中的 angular 之前包含 jquery

Chrome 和 Firefox 之间的 JavaScript 范围差异

javascript - 从 Chrome 开发者工具控制台获取最后返回值

javascript - 当另一个 Action 被触发时,处于 redux 状态的对象消失

javascript - 使用 for 循环创建动态 DOM 元素