Angular js:如何使用ngMousedown ngMouseup

ish*_*hwr 4 javascript class angularjs

是否可以使用ngMousedown将类添加到div和ngMouseup以再次删除该类?目前我使用ng-mousedown ="activateClass()",在activateClass()中更改$ scope.className ="data-active"并使用ng-mouseup通过其他功能再次更改它.并使用ng-class添加类"数据活动"我不想使用$ scope.className并在控制器中使用函数更改它,因为此函数用于几个div而我不想添加类我拥有的所有div.

谢谢.

idu*_*sun 8

通常控制器不应该关心你的DOM.你在那里尝试做什么似乎更适合指令.我会实现一个指令:

app.directive("highlight", function() {
  return function(scope, element, attrs) {
    element.on('mouseup', function(event) {
      element.removeClass(attrs.highlight)
    })
    element.on('mousedown', function(event) {
      element.addClass(attrs.highlight)
    })
  }
})
Run Code Online (Sandbox Code Playgroud)

并在像这样的div上使用它

 <div highlight="active">
      my content is here
 </div>
Run Code Online (Sandbox Code Playgroud)

where active是我的css类的名称.


And*_*iov 1

如果你不想使用控制器,你可以在视图中写入ng-mousedown="className='data-active'"