Java 吕震中本:我怎样才能用鼠标移动事件?
在GWT中,拖动元素时如何获取“mouseUp”事件 我想得到以下流程:Java 吕震中本:我怎样才能用鼠标移动事件?,java,gwt,Java,Gwt,在GWT中,拖动元素时如何获取“mouseUp”事件 我想得到以下流程: 穆斯敦 鼠标移动 。。。可能会有更多的鼠标移动 鼠标 当我不移动光标时,我可以得到“mouseDown”和“mouseUp”,但当我移动光标时,我不再得到“mouseUp”事件 我试图将event.preventDefault()无效 请提供帮助。尝试在MouseDown事件(即onMouseDown()中)内附加MouseUp处理程序。对于DnD,通常需要。当您停止拖动时,不要忘记(例如,向上移动鼠标和/或按esca
- 穆斯敦
- 鼠标移动
- 。。。可能会有更多的鼠标移动
- 鼠标
event.preventDefault()“mouseDown”和“mouseMove”处理程序中的code>无效
请提供帮助。尝试在MouseDown事件(即onMouseDown()中)内附加MouseUp处理程序。对于DnD,通常需要。当您停止拖动时,不要忘记(例如,向上移动鼠标和/或按escape键)
看看com.google.gwt.user.client.ui.DialogBox的代码,它就是这样做的。当然,MouseUp处理程序只在您在widtet上时才工作。这就是为什么您不能使用它进行拖放,因为一旦您移出小部件,它就不会对MouseUp事件做出反应
下面是一个简单的例子:
package XXX.client.XXXXXX;
import com.google.gwt.event.dom.client.MouseDownEvent;
import com.google.gwt.event.dom.client.MouseDownHandler;
import com.google.gwt.event.dom.client.MouseUpEvent;
import com.google.gwt.event.dom.client.MouseUpHandler;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
public class MouseUp {
public MouseUp(){
Label label = new Label("hallo");
label.getElement().getStyle().setProperty("backgroundColor","red");
RootPanel.get().add(label);
label.addMouseDownHandler(new MouseDownHandler() {
@Override
public void onMouseDown(MouseDownEvent event) {
Label label = new Label("onMouseDown");
RootPanel.get().add(label);
}
});
label.addMouseUpHandler(new MouseUpHandler() {
@Override
public void onMouseUp(MouseUpEvent event) {
Label label = new Label("onMouseUp");
RootPanel.get().add(label);
}
});
}
}
如果你想使用拖放功能,我建议你看看
- GWT处理程序“.addDrag…”
你说得对,伙计。我不知道你为什么会投反对票,但是鼠标上升事件是为特定的小部件注册的。如果鼠标悬停在另一个项目上,则不会触发该事件,因为它未注册+1来自methe event.preventDefault();阻止浏览器的标准事件处理。所以,如果你不想让图片和链接开始浏览器的拖动操作,就把它放在那里。这正是我需要的!非常感谢。