複数のnestled、angularjs mousebuttonディレクティブを処理するのに少し問題があります。 私はこのようになりますテンプレートがあります。Angularjsで "peek through"とng-clickを挟んで処理します
<div class="project-wrap">
<div class="workspace-wrap">
<div id="workspace" class="workspace"
oncontextmenu="return false;"
ng-mousedown="project.checkBtnDown($event)"
ng-mouseup="project.checkBtnUp($event)"
ng-mousemove="project.mouseMoved($event)">
</div>
</div>
<button class="logoutBtn" ng-click="project.logout()">
Logout
</button>
</div>
何checkBtnDownは、()は、単純に押されたmousebuttonsのどのチェックし、それを処理しています。
左のマウスボタンを「ワークスペース」(ProjectCtrlのテンプレート内)にプッシュダウンすると、SVG要素が「ワークスペース」div内に配置されます。このSVG要素は、独自の角度指令にバインドされています。この指令は、そのテンプレートをクリックします。
私はSVG要素を計画どおりに作成しますが、SVG要素のうちスコープ上で関数を呼び出す部分をクリックすると発生します。新しいSVG要素がプロジェクトテンプレート内にあるので、依然としてcheckBtnDown()が呼び出されています。
ng-clickで「peek through」を取得し、同時にcheckBtnDown()を起動させないようにするにはどうすればよいですか?
私がこのようにしたのは、実行しない最初のたくさんのコード; child-directiveがng-click/ng-mousedownを起動したとき。だから私は子供の指示が実行する前に、2番目のng-clickまたはng-mousedownを呼び出すのを待つようにします。 – Lightfooted
これはかなりうまくいくようです。 – Lightfooted
私はそれを「ピークスルー」と呼びます。 – Lightfooted