2016-07-11 1 views
4

私はAngularJSを初めて使用し、イベントハンドラを探索しています。私は既存のコードベースを上回り、なぜ$eventが渡されているのか分かりませんでした。これは、HTMLが

<p><a ng-click="packBtnClick($event)" href="#" title="">[[btnAction]]</a></p> 

のように見え、コントローラに、ここにイベントを渡すの

$scope.packBtnClick = function($e){ 
    $e.preventDefault(); 
    if($scope.packAvailable){ 
    addPackIntoCart(); 
    } 
    else{ 
    //some other code. 
}; 

唯一の目的は、preventDefault動作には何かということです。
私の質問です - 実際に$eventを渡す必要がありますか?

答えて

3

preventDefaultを呼び出す必要があり、それ以外の場合は不要です。 $eventで公開されているものを呼び出す必要がない場合は、それを渡さないでもイベントが発生しないようにするため、安全に削除することができます。

$イベントドキュメントhereがあります。これは、jQueryが存在する場合はjQuery event objectのラッパー、またはjqLit​​eを使用する場合は同様のものです。潜在的に公開されるプロパティと関数の完全なリストについては、イベントオブジェクトを参照してください。 jqLit​​eはすべての同じプロパティと関数を公開するとは限りませんが、ほぼすべてのシナリオで非常に近いはずです。

+0

ありがとうございます。 '$ event'が何を公開するのか、どうすれば分かりますか? –

+0

@ShrutiKapoorようこそ。私は$イベントのドキュメントで私の答えを更新しました。 –

関連する問題