我正在使用AngularJS指令:ng-click="$event.stopPropagation();"
使引导下拉菜单在第一次后续点击之后保持打开状态。它工作正常。
但是当我使用ng-view
路由到同一个元素时,下拉列表的动态呈现版本会丢失其ng-click
功能。如何重新绑定此元素?
编辑:根据以下评论的要求,我创建了Plunker。目前这个前ng-view
版本的行为符合我的要求,即当用户点击引导下拉按钮时,下拉菜单元素出现并保持打开状态,直到用户点击菜单外(或再次在下拉按钮上) )。我已通过使用.dropdown-menu
修改html中的ng-click="$event.stopPropagation();"
标记来完成此行为。
我发现,只要我尝试将ngRoute
资源模块添加到我的应用程序中(作为编码$routeProvider
组件的前身),ng-click="$event.stopPropagation();"
指令会立即失败。这是我在上面的Plunk中添加ngRoute
的地方:
angular.module('ui.bootstrap.demo', ['ngRoute', 'ui.bootstrap']);
有人可以告诉我发生了什么以及如何解决这个问题吗?我最终希望通过视图呈现按钮,但是使用 ng-click
指令绑定并运行。
EDIT2 :用户在以下评论中提供了有效的解决方案。通过从#
代码中移除href
,不会跳过ng-click
。为了后人的缘故,在Plunker中实现了这个解决方案。
答案 0 :(得分:1)
href ="#"在a元素中导致页面导航,尝试使用href =""代替。