1

Dom mouseDown ハンドラーが 2 つあるウィジェットがあります。

まず、私は GWT でコーディングしていますが、問題はおそらく Javascript に関連していると思います。

このハンドラー登録の 1 つは、ウィジェットのサイズ変更を可能にする Resizable という名前のクラスで定義されています。2 番目のハンドラー登録は、ウィジェットをドラッグ可能にする Draggable という名前のクラスで定義されます。

したがって、これら 2 つのクラスの各コンストラクター (引数にウィジェットを指定) には、次のものがあります。

widget.addDomHandler(this, MouseDownEvent.getType());

Resizable ハンドラーが最初に呼び出され、Draggable ハンドラーの後にのみ呼び出されるように、dom イベントに優先順位を付けたいと考えています。どうすれば達成できますか?

また、サイズ変更可能なハンドラーが呼び出された場合は、イベントを停止したいと考えています。機能を試してみましたevent.stopPropagation()が、イベントは親に対してのみ停止でき、同じウィジェットの同様のイベントに対しては停止できないようです。

ウィジェットのサイズが変更可能な場合にドラッグ可能なハンドラーが呼び出されないように、このイベントを停止するにはどうすればよいですか?

私のウィジェットはサイズ変更可能であるがドラッグ可能ではない、ドラッグ可能でサイズ変更可能ではない、またはその両方であるため、これら2つのクラスは完全に独立していると正確に言えます。したがって、可能であれば、これら 2 つのクラス間のコードの交差を避けたいと考えています。

ありがとう

4

1 に答える 1

0

event.cancel()代わりに試しましたevent.stopPropagation()か?それは役立つかもしれません!

于 2011-05-30T11:00:06.263 に答える