javascript - 使用 angularjs 禁用文本区域

标签 javascript html angularjs

当用户使用 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 来防止发生输入事件。

最佳答案

您可以使用 ng-keyup 在按下回车键时附加一个功能,

ng-keyup="$event.keyCode == 13 && functionToCall()"

这里是demo ,

谢谢

关于javascript - 使用 angularjs 禁用文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39022020/

相关文章:

javascript - 在 Electron 中,为什么我不能将 Node 模块中的值分配给 angularjs View ?

javascript - (false == false == true) 怎么可能是真的

html - 内容扩展容器

javascript - AngularJs $http.get : Sending array of objects as params

javascript - jQlite .find() 遍历不工作

javascript - html 和 js 矩形调整大小问题

javascript - 如何将函数/回调传递给 Node.js 中的子进程?

javascript - 如何从嵌套对象中获取键?

javascript - D3.js,需要d3.js中的点击事件

html - 如何将笔划宽度均匀地赋予圆形 svg 六边形?