我注意到有两种方法可以将事件处理程序连接到GWT小部件:addHandler和addDomHandler。 addDomHandler的JavaDoc说:“向窗口小部件添加本机事件处理程序并接收相应的本机事件。如果您不想接收本机事件,请改用通用的addHandler方法。”
如果有人能够了解原生事件和逻辑事件之间的区别,我将非常感激。
答案 0 :(得分:8)
本机事件由浏览器直接触发 - 诸如点击,鼠标悬停,按键等事件。要在Widget上接收这些事件,您必须专门接收事件。
通用事件更通用。例如,我为自己使用创建了SaveEvent
和DeleteEvent
,在满足某些UI条件时会被触发。它们离浏览器更远,永远不会被浏览器直接解雇。我认为你应该坚持使用更通用的事件。另一方面,如果您正在创建一个无法用其他小部件制作的自定义小部件 - 例如,如果您想构建一个用户可以单击并拖动的滑块 - 您将需要DOM事件。