javascript - 使用 Angular UI Sortable 时未执行自定义事件处理程序?

标签 javascript angularjs jquery-ui jquery-ui-sortable

我有以下代码:

  <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 .

您知道如何调用此事件处理程序吗?

最佳答案

我的猜测是,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>

和你的 Controller :

$scope.sortableOptions = {
  start: onDragStartHandler(e, ui)
};

因为 onDragStartHandler 是一个全局函数 - 请记住,您可能需要 $apply() 范围才能查看绑定(bind)的更新。

关于javascript - 使用 Angular UI Sortable 时未执行自定义事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38312312/

相关文章:

javascript - 如何在 AngularJS 中同步切换按钮内的复选框?

javascript - 使用 angularjs 指令时 Fine Uploader 出现错误

javascript - JQuery UI 选项卡 : How do I navigate directly to a tab from another page?

javascript - 本网站的文字/元素定位是如何实现的

Javascript 回调函数类型 : function() vs ()=>{}

javascript - 如何根据父 div 高度固定内部 div 的滚动位置

javascript - jquery 自动完成 - 选定的值从文本框中消失

javascript - 在div中加载JS函数

javascript - 使用初始数据从服务 Angular 刷新范围

javascript - 验证自动完成