Events GWT-如何阻止孩子的传播';将事件发送给其父级

Events GWT-如何阻止孩子的传播';将事件发送给其父级,events,gwt,Events,Gwt,我正在用一棵树构建一个GWT应用程序。 每个树项表示一个对象,该对象具有布尔属性,我们可以通过树项本身中显示的复选框设置该属性 我有一个选择处理程序在我的树上做一些事情,在点击每一个树项目时调用它 我想做的是,当我点击复选框时,防止选择事件触发 但是,复选框没有SelectionHandler,因此我尝试将ClickEventHandler与event.stopPropagation()放在一起,但SelectionHandler仍被调用 编辑:实际上SelectionHandler在Click

我正在用一棵树构建一个GWT应用程序。 每个树项表示一个对象,该对象具有布尔属性,我们可以通过树项本身中显示的复选框设置该属性

我有一个选择处理程序在我的树上做一些事情,在点击每一个树项目时调用它

我想做的是,当我点击复选框时,防止选择事件触发

但是,复选框没有SelectionHandler,因此我尝试将ClickEventHandler与event.stopPropagation()放在一起,但SelectionHandler仍被调用

编辑:实际上SelectionHandler在ClickEventHandler之前被激发


预先感谢

< P>你可以考虑遵循GWT文档中提供的方法。这应该做你感兴趣的一点。

你可以考虑遵循GWT文档中提供的方法。这应该可以满足您的兴趣。

尝试对复选框使用单独的单击处理程序,并在其后使用event.StopProgation(),以防止事件冒泡。

尝试对复选框使用单独的单击处理程序并使用event.StopProgation()为了防止事件冒泡,需要在GWT中停止从子事件到父事件的传播

event.stopPropagation();

要在GWT中停止从子事件到父事件的传播,需要使用

event.stopPropagation();

您是否也调用了
event.preventDefault()
?是的,我试过了。但是如果我放置event.preventDefault(),复选框将不会被选中…经过一些调试后,我意识到树上的SelectionEvent将在复选框的ClickEvent之前被激发…您是否也调用了
event.preventDefault()
?是的,我尝试过。但是如果我放置event.preventDefault(),复选框就不会被选中…经过一些调试后,我意识到树元素上的SelectionEvent在复选框的ClickEvent之前被激发…问题是我们正在处理两个不同的事件,并且父(树元素)的事件在子(复选框)之前被调用的事件…问题是我们正在处理两个不同的事件,并且父(TreeItem)的事件在子(复选框)的事件之前被调用。。。