2016-09-14 14 views
0

AngularJSアプリケーションのすべてのクリックから機能をトリガーする方法はありますか?ng-click毎にイベントをトリガーする

現在、特定のng-ifsにバインドされている関数にコードを追加することでコードをトリガすることができますが、コントローラのng-clickでトリガする方法がある場合は、これが役に立ちます。

ありがとうございました!

+0

あなたはより多くのそれを説明することができますか? –

+0

あなたが正確に何を言おうとしているかを知るためのコードを教えてください。 –

答えて

1

ngClickディレクティブをオーバーライドして、すべてのクリックで関数またはブロードキャストをトリガーすることができます。

変更する必要があり、元の実装:

compile: function($element, attr) { 
    var fn = $parse(attr[directiveName]); 
    return function(scope, element, attr) { 
    element.on(lowercase(name), function(event) { 
     scope.$apply(function() { 
     fn(scope, {$event:event}); 
     }); 
    }); 
    }; 
} 
+0

これはまさに私が探していたものです。受け入れられた答え。みんな、ありがとう! – Nimrod

0

あなたの質問によると、 ng-ifの中のいくつかの項目についてng-click()をトリガーしたいことを理解しました。その場合はng-showを代わりに使用してください。 ng-ifの内部でng-clickが機能しないためです。

しかし、ng-click()イベントを捕捉したい場合は、bodyのng-clickを書きますが、それは良い実装ではありません。

これが役に立ちます。ありがとう!

関連する問題