簡體   English   中英

帶有click事件的Angular指令被調用兩次

[英]Angular directive with click event gets called twice

我遇到一個點擊事件被兩次調用的問題。 不確定我缺少什么,但是我在應用程序中只包含了此指令一次。 我嘗試僅將指令添加到一個元素,但調用仍然發生兩次。

有人可以看一下代碼,然后告訴我我所缺少的嗎?

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;
                }
            });
        }
    }
});

在click函數中使用此控件停止冒泡事件

 e.stopPropagation();

要了解更多信息,請檢查

我知道我回答這個問題很晚,幾個月前我也面臨這個問題。 但是,一位紳士要求我將此內容附加到指令中。 而且,效果很好!

e.stopImmediatePropagation();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM