我有一个在更改textarea的值时调用的函数。它很好用,除非按下空格键,然后什么也没叫。有没有办法激活它?从技术上讲,内容在变化,我希望无论如何都要调用该函数。
我在代码上摆弄小提琴。您可以看到$scope.log按下空格键时,数组不会推送新的元素(也请按Enter键),但是其他非空白键都可以。
$scope.log
小提琴示例:http : //jsfiddle.net/UJWLN/4/
您可以在输入中使用指令ng-trim并将其设置为false,如下所示:
<textarea ng-change="changeFunction()" ng-model="myModel" ng-trim="false"></textarea>
但这并不适用于所有情况。如果要在每个按键上执行一些操作,请尝试使用自定义指令。我为你写了一个:
http://jsfiddle.net/UJWLN/6/
myApp.directive('ngKeystroke', function(){ return { restrict: 'A', link: function(scope, elem, attrs){ elem.bind("keyup", function(){ scope.log.push('called'); scope.$digest(); }); } }; });