带有click事件的Angular指令被调用两次

时间:2014-01-27 09:57:11

标签: javascript angularjs

我遇到的问题是我的点击事件被调用了两次。不知道我错过了什么,但我只在我的应用程序中包含了这个指令。我已经尝试将指令仅添加到一个元素,但调用仍然发生了两次。

有人可以看一下代码并告诉我我想要的东西吗?

angular.module('mymodule', [])
.directive('mydirective', function () {
    return {
        restrict: 'AE',
        link: function ($scope, $element, $attrs) {

            $element.children().bind('click', function () {

                console.log("test" + this);

                if ($element.hasClass('active')) {
                    $element.removeClass('active');
                    return;
                } else if (!$element.hasClass('active')) {
                    $element.addClass('active');
                    return;
                }
            });
        }
    }
});

1 个答案:

答案 0 :(得分:5)

在click函数中使用它来停止冒泡事件

 e.stopPropagation();

了解更多信息this