我设置了一个简单的 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/