javascript - AngularJS 将类应用于事件的父元素?

标签 javascript jquery angularjs ng-class

我有一个表单域:

<div class="form-group">
  <label>Name</label>
  <input type="text" name="name" class="form-control" ng-model="abc.user.name" ng-focus="abc.setFocus('name')" required>
</div>

我需要做的是设置为父元素添加一个类,这里​​<div class="form-group"> ,当输入有焦点时,当字段失去焦点时将其删除。

我知道如何在 jQuery 中执行此操作,但不知道如何以 Angular 方式执行此操作。我有很多表单字段需要像这样,所以我试图避免设置变量并使用 ng-class 查找它。 .我宁愿有一些方法可以让该字段对其父项进行简单操作,我可以在每个表单字段中使用相同的方法。

最佳答案

如果您需要做的只是操作 dom,指令可能是最简单的通用方法。

<div class="form-group" focus-class="focused">
  <label>Name</label>
  <input name="name" class="form-control" ng-model="abc.user.name" required>
</div>

JS

angular.module('myApp').directive('focusClass', function(){
    return {
      link:function(scope, elem, attrs){
         elem.find('input').on('focus', function(){
            elem.toggleClass(attrs.focusClass);
         }).on('blur', function(){
            elem.toggleClass(attrs.focusClass);
         });
      }
    }
});

关于javascript - AngularJS 将类应用于事件的父元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43523437/

相关文章:

javascript - 函数前面的感叹号有什么作用?

javascript - 模拟子组件元素在父组件测试文件中的单击

javascript - 使用正则表达式将字符串转换为 JavaScript 数组

javascript - 我如何以 JavaScript Easy 方式一次性进行多次静态服务调用

javascript - 卡住宽度为 100% 的 html 标题

javascript - 追加在最后一个 child 之前

javascript - 如何将 jQuery 对象转换为 JS 数组?

javascript - NG-Repeat 返回空行

javascript - ionic 框架 : Can't redirect to another page from my controller?

javascript - Angularjs 从列表创建 div 网格