【问题标题】:GWT : two DOM events on same div, priority and how to deactivate the second event when the first is called?GWT:同一个 div 上的两个 DOM 事件,优先级以及在调用第一个事件时如何停用第二个事件?
【发布时间】:2011-01-19 15:56:55
【问题描述】:

我有一个 Widget,它有两个 Dom mouseDown 处理程序:

首先,我使用 GWT 进行编码,但我认为问题可能与 Javascript 相关。

其中一个处理程序注册在名为 Resizable 的类中定义,它允许我的小部件可调整大小。 第二个处理程序注册在一个名为 Draggable 的类中定义,它允许我的小部件可拖动。

所以,在这两个类的每个构造函数中(在参数中给出小部件),我有:

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

我想优先考虑我的 dom 事件,以强制首先调用 Resizable 处理程序,并且仅在 Draggable 处理程序之后调用。我怎样才能实现它?

此外,如果调用了可调整大小的处理程序,我想停止事件。 我尝试了event.stopPropagation() 函数,但似乎只能为父母停止该事件,而不能为同一小部件​​上的类似事件停止。

如果我的小部件可调整大小,我如何停止此事件以避免调用可拖动处理程序?

我确切地说这两个类是完全独立的,因为我的小部件可以调整大小但不可拖动,可拖动但不可调整大小或两者兼而有之。所以如果可以的话,我想避免这两个类之间的代码交叉。

谢谢

【问题讨论】:

    标签: javascript events gwt event-bubbling event-propagation


    【解决方案1】:

    您是否尝试过event.cancel() 而不是event.stopPropagation()?这可能会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多