如何在angularjs中拖动ng repeat上的特定div

如何在angularjs中拖动ng repeat上的特定div,angularjs,devexpress,Angularjs,Devexpress,我正在准备重复的图表 我已将拖动属性应用于,我可以拖动div元素,但如果在ng repeat上向该div添加多个图表,则会出现行为错误,如果我拖动任何其他图表,则只会拖动第一个div 这是我的代码(我正在使用devextreme使用Angularjs准备图表) 重复的div都具有相同的id。 您可以将所有id设置为唯一,如下所示: ng-repeat="chart in FinalPieData track by $index" id="innerElement{{$index}}" 现在,您

我正在准备重复的图表

我已将拖动属性应用于
,我可以拖动div元素,但如果在ng repeat上向该div添加多个图表,则会出现行为错误,如果我拖动任何其他图表,则只会拖动第一个div

这是我的代码(我正在使用devextreme使用Angularjs准备图表)


重复的div都具有相同的id。 您可以将所有id设置为唯一,如下所示:

ng-repeat="chart in FinalPieData track by $index" id="innerElement{{$index}}"
现在,您可以使用传递到拖动函数中的事件获取元素,或者也可以传递id并在选择器中使用它,如下所示: 在html中

和在控制器中

$scope.dragStarted = function (event, index) {
    var elementid = "#innerElement" + index;
    $(elementid).css("background-color", draggedColor);
    initialTop = parseInt($(elementid).css("top"));
    initialLeft = parseInt($(elementid).css("left"));
    initialPointerY = arguments[0].clientY;
    initialPointerX = arguments[0].clientX;
};

谢谢你的回复,Tim,它不起作用,我应用了,但没有拖动。你需要对拖动和拖动函数应用相同的东西
ng-repeat="chart in FinalPieData track by $index" id="innerElement{{$index}}"
dx-dragstart="dragStarted($event, $index)"
$scope.dragStarted = function (event, index) {
    var elementid = "#innerElement" + index;
    $(elementid).css("background-color", draggedColor);
    initialTop = parseInt($(elementid).css("top"));
    initialLeft = parseInt($(elementid).css("left"));
    initialPointerY = arguments[0].clientY;
    initialPointerX = arguments[0].clientX;
};