Angularjs - NG-点击和$ event.stopPropagation禁止Twitter的引导上下文菜单 [英] Angularjs - ng-click and $event.stopPropagation disable twitter bootstrap context menu

查看:203
本文介绍了Angularjs - NG-点击和$ event.stopPropagation禁止Twitter的引导上下文菜单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我试图用$ event.stopPropagation,因为我有一个容器中许多不同的点击需要是独立的,我把它们使用$ event.stopPropagation以及处理,但是当涉及到​​引导,我不能由于某些原因,使其工作。上下文菜单中单击被检测为整个容器的实际NG-点击。我怎样才能让Twitter的引导上下文菜单中充当如果它有$ event.stopPropagation?

这是一个小提琴 http://jsfiddle.net/GeorgiAngelov/tJY2s/

我甚至尝试添加NG单击事件将触发HREF ='#',但它仍然无法正常工作。用的jsfiddle NG-点击更换HREF ='#' http://jsfiddle.net/GeorgiAngelov/tJY2s / 1 /

 < D​​IV NG-应用='项目'NG点击=MyClick认证()>
    < D​​IV NG控制器=MainControllerNG点击=MyClick认证($事件)>
        < D​​IV>
            < D​​IV CLASS =头>
                dasdasdasdasd
            < / DIV>
        < / DIV>        < D​​IV CLASS =下拉菜单>
            <一类=下拉菜单,切换数据切换=下拉菜单中的href =#>菜单< / A>
            < UL类=下拉菜单中选择角色=菜单中的咏叹调-labelledby =dropdownMenu>
                <立GT;<在tabIndex = - 1NG点击=>的One< / A>< /李>
                <立GT;<在tabIndex = - 1NG点击=>二< / A>< /李>
            < / UL>
        < / DIV>
    < / DIV>
< / DIV>


解决方案

引导不使用的的机制,即适用于$ / $消化循环,来处理事件。你可能想看看的角度引导项目: http://angular-ui.github.io/bootstrap

Hey guys so I am trying to use $event.stopPropagation because I have many different clicks in one container that need to be independent and I handle them using $event.stopPropagation as well, but when it comes to bootstrap, I cannot for some reason make it work . The context menu click is detected as actual ng-click on the whole container. How can I make the twitter bootstrap context menu act as if it had $event.stopPropagation?

Here is a fiddle http://jsfiddle.net/GeorgiAngelov/tJY2s/

I even tried adding an ng-click event that will trigger the href='#' but it still does not work. jsFiddle with ng-click to replace the href='#' http://jsfiddle.net/GeorgiAngelov/tJY2s/1/

<div ng-app='project' ng-click="myClick()">
    <div ng-controller="MainController" ng-click="myClick($event)">
        <div>
            <div class="header" >
                dasdasdasdasd
            </div>
        </div>

        <div class="dropdown">
            <a class="dropdown-toggle" data-toggle="dropdown" href="#">Menu</a>
            <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
                <li><a tabindex="-1" ng-click="">One</a></li>
                <li><a tabindex="-1" ng-click="">Two</a></li>
            </ul>
        </div>
    </div>
</div>

解决方案

Bootstrap does not use Angular mechanism, namely $apply/$digest cycle, to handle events. You might want to check out the angular bootstrap project: http://angular-ui.github.io/bootstrap.

这篇关于Angularjs - NG-点击和$ event.stopPropagation禁止Twitter的引导上下文菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆