当用户使用 AngularJS 在文本区域为空时按下键盘的 Enter 键时,我试图禁用文本区域处理键盘事件。当文本区域为空时,我已经能够禁用提交按钮,但我试图在文本区域为空时从输入事件中禁用文本区域。
这是我的尝试:
<div class="descriptionarea">
<textarea ng-model="trackTxt" id="input" ></textarea>
<span class="buttonfortxtarea">
<button ng-disabled="!trackTxt" class= "btn btn-mini description_submit" id="new-chat-button">Submit</button></span>
</div>
当我从文本区域按 Enter 键时,它会使用以下代码触发事件
document.getElementById('input').addEventListener('keyup', function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) { // enter key press
send();
}
});
无论文本区域是否为空,上面的代码都有效。
编辑:
在我的 angularjs 的 app.js 中
app.controller('TodoCtrl',function($scope){
//handle javascript enter event on key up
// function TodoCtrl($scope) {
$scope.trackTxt;
$scope.send = function($event){
alert('TEST');
}
$scope.isEmpty = function(param){
return param.trim().length === 0;
}
//}
});
在jsp文件中
<div ng-controller="TodoCtrl">
<textarea ng-keyup="$event.keyCode == 13 && !isEmpty(trackTxt) && send($event)" ng-model="trackTxt" id="input" ></textarea>
<span class="buttonfortxtarea">
<button ng-disabled="!trackTxt" ng-click="send($event)" class= "btn btn-mini description_submit" id="new-chat-button">Submit</button></span>
</div></div>
请问,当文本区域为空时,如何使用 angularjs 来防止发生输入事件。
最佳答案
关于javascript - 使用 angularjs 禁用文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39022020/