由于来自外部的事件停止传播,click不会触发内部指令

时间:2017-10-10 05:57:26

标签: angularjs angularjs-ng-click stoppropagation

我有一个directive,其子元素(在指令模板内)有click个事件。指令(section标签)之外的元素还有另一个click事件。因此,我需要使用stopPropagation以避免点击向上传递到section标记。但是,点击也没有传递给指令的子元素。我该如何解决这个问题。

主要模板:

<section ng-click="doSomething()">
    <div ng-click="$event.stopPropagation()"> //Here where the problem comes..
        <myDirective></myDirective>
    </div>
</section>

指令模板:

<div>
    <div ng-click="doDirectiveThing()"></div>
</div>

在这里,当我调用$event.stopPropagation()时,点击也没有传递给指令的子元素。

帮我解决这个问题。 谢谢......

1 个答案:

答案 0 :(得分:0)

尝试这样......如果我理解正确,你不想将点击事件从指令传播到部分。

主要模板:

<section ng-click="doSomething()">
        <myDirective></myDirective>
</section>

指令模板:

<div>
    <div ng-click="doDirectiveThing();$event.stopPropagation()"></div>
</div>