angularjs - 如何防止 Angular-ui Accordion 在使用 Angular-UI 的可排序进行排序时切换

标签 angularjs angular-ui jquery-ui-sortable angular-ui-bootstrap

我用 Angular、Angular-ui bootstrap 和 ui-sortable 制作了一个可排序的 Accordion ,您可以在其中拖放 Accordion 组。

问题是,当前的 Accordion 组在放置到新位置时会切换(打开/折叠)。

Plunkr:Click

我不知道如何防止这种行为,尝试在停止、beforeStop 和更新函数的可排序选项中使用 stopPropagation()...没有变化(因为它引用了一个事件)我认为这是由 jQuery 而不是 Angular 处理的?!)。

有什么想法吗? 提前致谢

最佳答案

过了很长一段时间,我又开始思考这个问题了。显然不是最优雅的解决方案,但它现在有效:Plunker 如果您有任何建议/更正,请不要犹豫。

编辑:根据评论,请参阅更新后的 Chrome Plunker:Plunker

主要技巧是使用以下方式控制切换:

<a class="accordion-toggle" 
   ng-click="$parent.isElementDragged() || (isOpen = !isOpen)" 
   accordion-transclude="heading">
   {{heading}}
</a>

关于angularjs - 如何防止 Angular-ui Accordion 在使用 Angular-UI 的可排序进行排序时切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18663209/

相关文章:

javascript - 将 JQuery-UI 可排序连接列表自定义配置保存到本地 Cookie

javascript - 比较 Angularjs 中 2 个嵌套数组之间的对象并显示相应的匹配数据

javascript - 将 css 模块应用于 AngularJS 的更好方法

JQuery 拖放 : Accessing Sortable() Divs

jquery - 使用 jQuery UI 在滚动区域中可拖动

angularjs - UI-Grid 中的 Angular UI-Select?

javascript - ngDialog关闭按钮重定向到其他页面

javascript - 无法运行 AngularJS 计时器示例

javascript - 使用 ui-router 命名 View 转换

angularjs - Angular UI select2 - 如何停止自动排序?