当前位置: 首页 > 面试题库 >

我怎样才能使AngularJS指令stopPropagation?

皇甫逸清
2023-03-14
问题内容

我试图“ stopPropagation”以防止单击li内的元素(链接)时关闭TwitterBootstrap导航栏下拉菜单。

在Angular中,看起来像指令是执行此操作的地方?所以我有:

// do not close dropdown on click
directives.directive('stopPropagation', function () {
    return {
        link:function (elm) {            
            $(elm).click(function (event) {                
                event.stopPropagation();
            });
        }
    };
});

…但是该方法不属于元素:

TypeError: Object [object Object] has no method 'stopPropagation'

我把指令与

<li ng-repeat="foo in bar">
  <div>
    {{foo.text}}<a stop-propagation ng-click="doThing($index)">clickme</a>
  </div>
</li>

有什么建议么?


问题答案:

“当前一些指令(即ng:click)停止事件传播。这阻止了与依赖于捕获此类事件的其他框架的互操作性。” -

…并且能够在没有指令的情况下进行修复,只需执行以下操作:

<a ng-click="doThing($index); $event.stopPropagation();">x</a>


 类似资料:
  • 有什么方法可以简化这段代码吗?我正好有一个白色的一块,想要得到它的位置 代码: 瓦片类: 件类:

  • 所以我试图将重力添加到4个UIButton,但它们没有下降,我将此代码添加到视图中并加载,我不知道为什么这不起作用。这是代码: 我的按钮有红色按钮、绿色按钮、蓝色按钮和相机按钮,我也应用了秋天的方向,但当我运行应用程序时,它们只是静态的。那么,有没有可能给这些按钮增加重力呢?

  • 问题内容: 这是一个简单的ArrayList排序程序: 我期望该程序的输出为: 但是当我运行该程序时,我得到的输出为: 为什么会这样?如何使ArrayList进行排序,如预期输出所示? 问题答案: 您可以编写一个自定义比较器:

  • 我正在尝试获取角色id,但我不知道如何操作,因为它不起作用: 身份验证::用户- 对象(照亮\数据库\雄辩\收集)#843(1) {["项目":受保护]=

  • 我最近开始使用在我的android应用程序上播放流链接,比如和文件,但当我试图播放文件,以下消息开始出现在Android logcat中: 源错误。com.google.android.exoplayer2.source.无法识别的输入格式异常:输入不以#EXTM3U头开始。在com.google.android.exoplayer2.source.hls.playlist.HlsPlaylist

  • 我有“下载正在进行文件”对话框活动。当用户按下“隐藏”按钮时,活动将创建通知和隐藏进度对话框。并且当用户单击到通知时,活动显示进度对话框再次出现在活动中。我如何在按下按钮“后退”时切换活动到后退任务?