0

GWTでMouseClickイベントとMouseDownイベントを分離する標準的な方法はありますか?

ボタンをクリックして押したままにすると、MouseUpと一緒にMouseClickイベントが発生します。

クリックするだけでも、MouseClickと一緒にMouseDownイベントが発生します。

4

1 に答える 1

6

これらのイベントにはいくつかの違いがあります。特定の状況で必要なイベントを処理します。

事は、一般的なケースでClickEventは含まれMouseDownEventており MouseUpEvent 、それらなしでは起こり得ないということです. MouseDownEventMouseUpEvent先行しClickEventます。前と同じClickEvent方法DoubleClickEvent。ただし、発生MouseDownEventすることを保証するものではありませんClickEvent

  • MouseDownEventユーザーが任意の要素内のマウス ボタンの 1 つを押すたびに発生します。

  • MouseUpEventユーザーがいずれかのマウス ボタンを離したときに発生します。

  • ClickEventこれらのイベントの両方で構成されます。ClickEvent同じ要素にこれらのイベントが両方ある場合に発生します。これは、マウス ダウン イベントとマウス アップ イベントの組み合わせのようなものです。と とは異なり、ClickEventマウスの左ボタンに対してのみ生成されます。MouseDownEventMouseUpEvent

これClickEventは、要素の上でマウスがダウンしてからアップしたときに生成されます。ただし、マウスは同じ要素内にとどまる必要があります。そうでない場合は発生しません。

たとえば、マウスを押し下げて要素の外に移動し、離したとします。ClickEventは生成されませんMouseDownEventが、この場合は生成されます。

マウスを押し下げて要素の外側に移動し、元に戻ったら離します。ClickEvent発生します。そして意志もMouseDownEventMouseUpEvent

ユーザーがクリックした場合、これは一連のイベントです。

  1. MouseDownEvent
  2. MouseUpEvent
  3. ClickEvent

ClickEventユーザーがマウス ボタンを離した後にのみ発生します。

ClickEventただし、 and を生成せずに作成する方法がMouseDownEventありMouseUpEventます。

  • ユーザーがタブ キーを使用してフォーカスをリンクに移動し、Enter キーを押した場合、クリック イベントが発生しますが、MouseDown および MouseUp イベントは発生しません。

または、生成せずにリンクを開くこともできますClickEvent:

  • リンクを右クリックし、ドロップダウン リストの項目を選択します (この場合のみ、起動しますMouseDownEvent) MouseUpEvent
  • また、リンクを選択して新しいタブにドラッグすることもできます
于 2012-05-24T01:52:48.850 に答える