1

stopPropagation の実装に本当に苦労しています。現在、複数のドロップダウンメニューを使用しています。メニューを開いてその外側をクリックすると、メニューがオフになるように設定したいと思います。理想的には、一度に 1 つのメニューのみを開く必要があるため、1 つのメニューを開いて別のメニューをクリックすると、最初のメニューがオフになります。

おそらく、私は完全に間違った方法でこれに取り組んでいます。もしそうなら、正しい方向にうなずいていただければ幸いです!

ありがとう!

ドロップメニューの開閉を処理する方法は次のとおりです。

<a ng-click="popout.isVisible = !popout.isVisible">Drop Menu #1</a>
<ul ng-show="popout.isVisible">
    <li>This is some text.</li>
    <li>This is some text.</li>
    <li>This is some text.</li>
</ul>

<a ng-click="popout.isVisible = !popout.isVisible">Drop Menu #2</a>
<ul ng-show="popout.isVisible">
    <li>This is some text.</li>
    <li>This is some text.</li>
    <li>This is some text.</li>
</ul>

これは、stopEvent ディレクティブを作成していることがわかったコードですが、必要な方法で機能していません。

myApp.directive('stopEvent', function () {
  return {
    link: function (scope, element, attr) {
      element.bind(attr.stopEvent, function (e) {
          e.stopPropagation();
          alert('ALERT!');
      });
    }
  };
});
4

1 に答える 1