У меня есть следующий код:
<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
вообще не выполняется.
Вы можете видеть это здесь.
Любые идеи о том, как можно вызвать этот обработчик событий?
Я предполагаю, что ui-sortable управляет dom и удаляет обработчики событий.
Если вы посмотрите на их варианты - вы, вероятно, можете подключиться к обратным вызовам следующим образом:
<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() для просмотра обновлений привязок.