Angular.js でng-clickのイベント伝播を停止する方法

イベントハンドラng-clickを設定したオブジェクトが重なっている場合、重なった部分をクリックすると手前のオブジェクトから順にイベントが発火しますが、その伝搬を途中で止めたいときの方法です。

<button ng-click="btnClick($event)">クリック</button>

このボタンのイベントハンドラに以下のコードを追加すれば、このボタンクリック以降のイベント伝搬が止まります。

$this.btnClick = function($event) {
    $event.stopPropagation();
    $event.preventDefault();
}

シェアする

  • このエントリーをはてなブックマークに追加