Пользовательский обработчик событий не выполняется при использовании Angular UI Sortable?

0

У меня есть следующий код:

  <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 вообще не выполняется.

Вы можете видеть это здесь.

Любые идеи о том, как можно вызвать этот обработчик событий?

Теги:
jquery-ui-sortable

1 ответ

1
Лучший ответ

Я предполагаю, что 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() для просмотра обновлений привязок.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню