Javascript 从Angular指令获取参数
我创建了一个指令来听上下箭头键。但我想提取被按下的键。有没有办法让它通过指令Javascript 从Angular指令获取参数,javascript,angularjs,Javascript,Angularjs,我创建了一个指令来听上下箭头键。但我想提取被按下的键。有没有办法让它通过指令 /** * Call a function when down and up arrow keys are pressed */ directives.directive('arrowKey', function() { return function(scope, element, attrs) { element.bind("keydown keypress", function(eve
/**
* Call a function when down and up arrow keys are pressed
*/
directives.directive('arrowKey', function() {
return function(scope, element, attrs) {
element.bind("keydown keypress", function(event) {
//Arrow down
if(event.which === 40) {
scope.$apply(function(){
scope.$eval(attrs.arrowKey);
});
event.preventDefault();
//Arrow Up
}else if (event.which === 38){
scope.$apply(function(){
scope.$eval(attrs.arrowKey);
});
event.preventDefault();
}
});
};
});
HTML用法:
<input id="search" type="text" placeholder="Search" class="searchBox" ng-model = "searchText" ng-change = "getAutoCompleteSuggestions(searchText)" ng-enter="getMore(searchText)" arrow-key="arrowPressed(arg)"/>
您应该使用
/*控制键*/
$scope.keypress=函数($event){
//在这里检查事件。
如果($event.keyCode==38){
}
}
小提琴示例:为什么不使用angular ng按键?因为我不知道。。。。哈哈。谢谢@WilliamFalcon什么版本的angular(在上面添加了小提琴)?
<input id="search" type="text" ng-keypress='keypress($event)' />
/* ctrl */
$scope.keypress = function($event){
//check event here.
if($event.keyCode == 38){
}
}