2017-05-22 5 views
1

<div ng-mousedown="count = count + 1" ng-init="count=0">Click me!</div>は、 'マウスクリックが発生したときに式を実行することを意味します。'ng-click'と 'ng-mousedown'ディレクティブの相違点

同様に、ライン<button ng-click="count = count + 1" ng-init="count=0">Click me!</button>手段、「1でボタンがクリックされるたびにカウント変数を増やす」

が今私を混乱させる何、私はNGクリック使用する必要があるとき、私が使用する必要があるときでありますng-mousedown?私は正確な違いは2つの間にあることを意味しますか?

答えて

0

いつ使用しますか?

あなたはツールを提供し、アプリケーションを作成します。あなたのマウスボタンのいずれかが(キーを離すまで、それは待機しない)要素の上でクリックすると、これはあなたのニーズに応じて、アプリケーション内のカスタム機能を持つように使用することができますいつでも

ng-mousedownは(トリガーされますキーボード操作から能動素子が活性化されたときにマウスの左ボタンを押して、その要素に解放されたとき

ng-clickがトリガされるメニューやズーム効果など)など、または(タブtabindex)を用い

+0

mousedownを使用して、ユーザーにアプリがより反応しやすいと感じさせる人もいます。しかし、ほとんどのアプリケーションでは、クリックイベントを使用する必要があります。これは、ユーザーが要素に慣れ親しんでいることであり、ユーザーが要素をクリックしたときに何かしたいという意図を伝達します。あなたがドラッグアンドドロップのようなことをしたいときにマウスがより便利になります... –

+0

キーボードのナビゲーションを使用して要素をクリックすることについての編集コメントは、マウスを使用することを避ける大きな理由です。マウスを使用しているときにクリックすることができます。 –

+0

@ Sun Di。ええ、それはUXの問題ですが、使用するのに直感的な方法でアプリケーションを設計する必要があります。また、モバイルアプリケーションのタッチイベントをよりよく制御するために、角度タッチライブラリを使用することもできます。 –

0

ng-clickをクリックすると、マウスボタンを離すまでイベントは発生しません。

ng-mousedownをクリックすると、イベントが発生します。マウスボタンを放す必要はありません。

0

ng-mousedownは、ng-clickの350ms後になります。

いつかng-mousedownを使用する必要があります。例えばボタンをクリックして削除すると

ng-clickを使用すると、ng-clickイベントは、ボタンの下の要素(要素の親要素ではない)に落ちます。

イベントを要素に渡したくない場合は、ng-mousedownを使用することをお勧めします。

関連する問題