概要 Angularの標準のdirectiveであるng-clickに、返り値がpromiseの場合に解決されるまでクリックを防止する機能を付けてみました (ボタンを押したら1秒間クリックが無効化されるデモ)。 とても簡単に実装できるのでちょっと紹介してみます。 実装 とりあえず元の実装を見てみましょう(githubのソース)。 // 以下compile部分のみ抜き出し compile: function($element, attr) { // 具体的なdirectiveNameは"ngClick"でng-click="hoge()"のhoge()部分を関数としてパースする var fn = $parse(attr[directiveName], /* interceptorFn */ null, /* expensiveChecks */ true); return function
![AngularJSで全てのng-clickに2重クリック防止機能を付ける | The Wacul Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/75dff22d9862cbd30ab7c3fb51647d879ffbfcdd/height=288;version=1;width=512/http%3A%2F%2Fblog.wacul.co.jp%2Fimages%2Fcommon%2Fogp.png)