我使用AngularJS指令:ng-click="$event.stopPropagation();"
使引导下拉菜单在随后的第一次单击之后保持打开。效果很好。
然而,当我使用ng-view
路由到同一元素时,动态呈现的下拉列表版本将失去其ng-click
功能。我怎样才能重新绑定这个元素?
编辑:应以下评论的要求,我创建了一个柱塞。目前,这个预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
。为了子孙后代的利益,在柱塞中实现了这个解决方案。
发布于 2014-10-18 04:52:43
A元素中的href="#“导致页面导航,尝试使用href="”代替。
https://stackoverflow.com/questions/26419055
复制