2

好吧,我需要一种方法来转发发生在 textarea 元素上的 keypress (或 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 函数正在做的事情)。

4

2 回答 2

4

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

更新:

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

于 2013-01-07T23:32:32.087 回答
1

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

.directive('mydKeypress', function(){
    return function(scope, elm, attrs){
        elm.bind('keypress', function(e){
            //Whatever code;
            alert('it bloody works!');
        });
    };
});
于 2012-12-09T20:45:01.040 回答