GWT: два события DOM для одного и того же div, приоритета и как отключить второе событие при вызове первого? - PullRequest
1 голос
/ 19 января 2011

У меня есть виджет, который имеет два обработчика Dom mouseDown:

Во-первых, я кодирую с помощью GWT, но думаю, что проблема, вероятно, связана с Javascript.

Одна из регистраций этого обработчикаопределенный в классе с именем Resizable, который позволяет моему виджету быть изменяемого размера.Регистрация второго обработчика определена в классе с именем Draggable, который позволяет перетаскивать мой виджет.

Итак, в каждом конструкторе этих двух классов (с указанием виджета в аргументе) у меня есть:

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

Я хочу расставить приоритеты в моем событии dom, чтобы обработчик Resizable вызывался первым и только после обработчика Draggable.Как мне этого добиться?

Более того, я хочу остановить событие, если вызывается обработчик изменяемого размера.Я попробовал функцию event.stopPropagation(), но кажется, что событие может быть остановлено только для родителей, а не для аналогичного события в том же виджете.

Как можно остановить это событие, чтобы избежать вызова перетаскиваемого обработчикаесли мой виджет изменяемого размера?

Я уточняю, что эти два класса полностью независимы, так как мой виджет может быть изменяемого размера, но не перетаскиваемым, перетаскиваемым и не изменяемым размером, или и тем, и другим.Поэтому, если я могу, я хочу избежать пересечения кода между этими двумя классами.

Спасибо

1 Ответ

0 голосов
/ 30 мая 2011

Вы пробовали event.cancel() вместо event.stopPropagation()? Это может помочь!

...