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>

しかし、それはおかしな動作をしているようで、ユーザーが何かを入力するたびにそのテキストエリアの高さを更新する必要があるため、特定のキーコードの使用は避けたいと思います(これは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 に答える