Используя GWT, я отображаю изображение на веб-странице, и моя цель - позволить пользователю обрезать его. Пользователь рисует воображаемую границу, щелкая определенную часть изображения, перемещая мышь и выпуская ее в другом месте. С использованием MouseDownHandler()
и MouseUpHandler()
я планирую записать начальный и конечный углы курсора мыши.
Однако при развертывании моей работы в Интернете возникает следующая проблема: когда пользователь нажимает на изображение и пытается нарисовать воображаемую ограничивающую рамку, веб-браузер (в моем случае Google Chrome) обнаруживает его как перетаскивание. и сбросить операцию.
Поэтому я не могу заставить работать мои функции mouseDown()
и mouseUp()
. Как мне избежать, чтобы браузер выполнял операцию перетаскивания?
код:
public void onModuleLoad(){
RootPanel.get().add(img1);
img1.addMouseDownHandler(new MouseDownHandler() {
@Override
public void onMouseDown(MouseDownEvent event) {
startX = event.getX();
startY = event.getY();
}
});
img1.addMouseUpHandler(new MouseUpHandler() {
@Override
public void onMouseUp(MouseUpEvent event) {
endX = event.getX();
endY = event.getY();
img1.setVisibleRect(startX, startY, endX-startX, endY-startY);
}
});
}