我正在为gwtquery开发一个可旋转的插件。这个想法是为老师创建一个座位表应用程序。任何方法,我现在可以得到一个元素旋转,如果只要它是不可拖的。
插件所做的是附加一个子程序,使子程序可拖动,并使用屏幕上的x和y从中心点获取atan2弧度.家长的中心点。如果父节点不断地移动,则顶点不是固定的,因此没有旋转。
我尝试了以下方法来尝试禁用父程序,但是没有结果。
private final DragFunction start = new DragFunction(){
@Override
public void f(DragContext context) {
//check to see if parent is draggable
DraggableOptions disable = new DraggableOptions();
disable.setDisabled(true);
$(context.getDraggable()).css($$("background-color:Magenta"));
$(context.getDraggable()).parent().css($$("border: 3px solid Magenta"));
//The parent's border indeed turned magenta
//but the draggable parent was not disable :{
$(context.getDraggable()).parent().as(Draggable).options(disable);
$(document).on("mousemove.rotatable", new Function(){
@Override
public boolean f(Event e){
e.stopPropagation();
e.preventDefault();
mouseCoords = new Point( e.getScreenX(), e.getScreenY());
angle = radToDeg(getAngle(mouseCoords, centerCoords));
rotate(angle);
rotating = true;
return true;
}
});
};// end start
};任何帮助都是非常感谢的
发布于 2014-08-26 07:32:33
问题是“如果你不需要的话,为什么父母是可拖的?”
如果您确实需要父程序是可拖动的,那么最好的方法是向正在检查布尔值的父级添加一个dragFunction。如果此布尔值为false,则抛出一个StopDragException以停止父文件的拖动。在上面的start函数中将此布尔值设置为false。并在子节点停止拖动时将此布尔值设置为true。
https://stackoverflow.com/questions/25498104
复制相似问题