Javascript 角度用户界面中的按键
我在使用按键时遇到如下问题-Javascript 角度用户界面中的按键,javascript,html,angularjs,Javascript,Html,Angularjs,我在使用按键时遇到如下问题- <div ng-controller="GBNController"> ... <input id="search-field" type="text" placeholder="JSON Query" ng-model="queryText" ui-keypress="{enter: foo()}"/> ... </div> 现在,仅当加载文档时才会调用此函数foo,此后,文本字段中的返回按键事件将永远不会被处理 我正在使用主
<div ng-controller="GBNController">
...
<input id="search-field" type="text" placeholder="JSON Query" ng-model="queryText" ui-keypress="{enter: foo()}"/>
...
</div>
现在,仅当加载文档时才会调用此函数foo,此后,文本字段中的返回
按键事件将永远不会被处理
我正在使用主分支的电流
我是做错了什么,还是这个坏了???你可以轻松地滚动你自己的按键指令 以及守则:
app.directive('zKeypress', function(){
return {
restrict: 'A',
link: function(scope, elem, attr, ctrl) {
elem.bind('keypress', function(){
scope.$apply(function(s) {
s.$eval(attr.zKeypress);
});
});
}
};
});
HTML
您需要在引号中加上foo()
你能做一个JSFIDLE吗?您确定要引导“gbn”模块吗?ui按键使许多事情变得更容易。例如,
是的,没错。angular ui库看起来太臃肿了。现在你可以克隆它,只需将你想要的指令内置到build/custom
文件夹中即可。例如,如果您想要一个只包含ui按键和ui事件的js文件:git clonehttps://github.com/angular-ui/angular-ui; cd角度用户界面;grunt build:keypress:event
。我们希望能很快在网站上下载自定义版本。感谢您提供此示例。我相信当事件被销毁时,也有必要将其从元素中解除绑定,不是吗?我也有同样的问题,但即使使用单引号,它也不起作用。我有一个指向angular-ui.min.js的脚本标记,一个指向angular-ui.min.css的链接标记,一个名为NavbarCtrl的控制器,一个NavbarCtrl上的方法registerOnNewsletter和一个输入标记中的ui按键=“{enter':'registerOnNewsletter($event)}”属性。有什么想法吗?你的应用程序中是否包含了“ui”模块angular.module('myApp',['ui'])
应该是:angular.module('myApp',['ui.utils'])
或angular.module('myApp',['ui.keypress'])
app.directive('zKeypress', function(){
return {
restrict: 'A',
link: function(scope, elem, attr, ctrl) {
elem.bind('keypress', function(){
scope.$apply(function(s) {
s.$eval(attr.zKeypress);
});
});
}
};
});
<input type="text" z-keypress="foo()"/>