Angularjs 使用角度拖放突出显示元素';onOver';

Angularjs 使用角度拖放突出显示元素';onOver';,angularjs,drag-and-drop,droppable,Angularjs,Drag And Drop,Droppable,我目前正在使用angular js插件,它有一个类似于jQuery UI的“onOver”事件处理程序 目前我有一个可拖放的元素 <div jqyoui-droppable="{multiple:true, onOver:'highlightRow'}"> 然而,我面临的问题是,我想通过onOver事件处理程序向这个div添加一个类,但我看不到简单地将元素传递给函数“highlightRow”的angularjs方法,因此我可以这样做: element.addClass('high

我目前正在使用angular js插件,它有一个类似于jQuery UI的“onOver”事件处理程序

目前我有一个可拖放的元素

<div jqyoui-droppable="{multiple:true, onOver:'highlightRow'}">
然而,我面临的问题是,我想通过onOver事件处理程序向这个div添加一个类,但我看不到简单地将元素传递给函数“highlightRow”的angularjs方法,因此我可以这样做:

element.addClass('highlight');

有没有一种方法可以使用“onOver”事件处理程序突出显示这一行,我真的不想编写自己的指令并将所需的功能绑定到它,我本以为“onOver”可以这样做,否则它有什么用?

我只会将over状态存储在作用域中,然后使用
ng class

$scope.dropOver = false;

$scope.highlightRow = function(){
  $scope.dropOver = true;             
};
根据范围值指定所需的类:

<div ng-class="{highlight: dropOver}" jqyoui-droppable="{multiple:true, onOver:'highlightRow'}">


感谢Retro,此解决方案有效,并为我提供了所需的功能。但是,我必须注意,此解决方案仅适用于高亮显示行,但在某些情况下,我需要编辑元素的样式属性(宽度、左位置)我不能通过简单地添加一个类来实现这一点,因为这些值是动态计算的,所以我仍然需要访问实际的元素,关于如何做到这一点,有什么想法吗?如果
highlightRow
回调接收到一个包含元素(
.target
)作为参数的事件,请尝试。您可以为范围设置必要的计算样式属性,并使用
ng style
应用它们。但是,如果必须进行大量DOM操作,那么最好编写自己的指令;-)再次感谢Reto,我决定使用onDrop方法调用我自己的函数$scope.dropCall=function(e,ui),从中我可以使用var droppedOn=angular.element(e.target.attr('id')访问可拖放元素属性;或者使用var draugd=angular.element(ui.target.attr('id')拖动元素;我知道像这样访问DOM元素不是很“有角度”,但在这种情况下,我认为这就足够了**快速更正拖动的变量实际上应该是这样的:var draugd=ui.draggable;
<div ng-class="{highlight: dropOver}" jqyoui-droppable="{multiple:true, onOver:'highlightRow'}">