javascript - 从 Angular 指令获取参数

标签 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(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)"/>

最佳答案

您应该使用ng-keypress .

<input id="search" type="text" ng-keypress='keypress($event)' />


/* ctrl */
$scope.keypress = function($event){
  //check event here. 
  if($event.keyCode == 38){

  }
}

fiddle 示例:http://jsfiddle.net/ncapito/3xyr6/

关于javascript - 从 Angular 指令获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20753473/

相关文章:

javascript - 路由更改时 AngularJS 调用范围函数

javascript - ngOptions 按值比较

javascript - 如何从 application.js 在 rails 中访问 yml 文件?

javascript - 在 Meteor 的测验应用程序中显示提示

javascript - 如何在每次单击按钮时更改按钮的文本值?

javascript - XMLHttpRequest 无法加载 http ://example. com/test.php。没有'访问控制允许来源

javascript - Ember-charts 导致无法在对象上找到属性 'pie-chart'

javascript - 创建一个其他人可以嵌入到他们网站中的 GWT 小部件?

php - 如何从服务器接收更新而不每隔 n 秒请求一次

javascript - ng-view 不显示在 angularjs 中