AngularUI ui-keypress适用于任何按钮?

时间:2012-12-09 00:58:06

标签: angularjs angular-ui

好吧,我需要的是一种方法来转发textarea元素上发生的按键(或keydown,无论如何)事件,我试图做的是:

<div id="wrapper" ng-controller="MyTestCtrl">
    <div id="text" ng-click="DivClick()">
        <ul>
            <li ng-repeat="item in items">
                <textarea ng-click="InnerClick()" ui-keypress="TextKeypress()" autofocus></textarea>
            </li>
        </ul>
    </div>
</div>

但它看起来很有趣并且我想避免使用任何特定的密钥代码,因为每当用户在其中键入内容时,我需要它来更新textarea的高度(这是TextKeypress函数正在做的事情)。 p>

2 个答案:

答案 0 :(得分:4)

您可以使用 uiEvent <textarea ui-event=" { keypress: 'whatever($event)' } ">

更新:

核心现在也包括ng-keypress! (不知道哪个版本)

答案 1 :(得分:1)

好吧,我已经通过创建一个适合我需要的自定义指令来克服这一点,并且我已经将该指令绑定到带有'keypress'的元素。像这样:

.directive('mydKeypress', function(){
    return function(scope, elm, attrs){
        elm.bind('keypress', function(e){
            //Whatever code;
            alert('it bloody works!');
        });
    };
});