我有以下代码:
<ul ui-sortable ng-model="list">
<!-- onDragStartHandler() is a global function, not part of $scope -->
<li draggable ondragstart="onDragStartHandler();" ng-repeat="item in list">Item: {{item}}</li>
</ul>
使用ui-sortable
(github)指令时,根本不会执行附加到ondragstart
的代码。
您可以看到此here。
有关如何调用此事件处理程序的任何想法吗?
答案 0 :(得分:1)
我的猜测是,ui-sortable操纵dom并删除事件处理程序。
如果你look at their options - 你可以像这样连接回调:
<ul ui-sortable="sortableOptions" ng-model="list">
<!-- onDragStartHandler() is a global function, not part of $scope -->
<li draggable ng-repeat="item in list">Item: {{item}}</li>
</ul>
和您的控制人员:
$scope.sortableOptions = {
start: onDragStartHandler(e, ui)
};
因为onDragStartHandler是一个全局函数 - 请记住,您可能需要$ apply()范围以查看绑定更新。