我正在开发java、smartgwt 2.5和mozilla ff 3.6.x。我在应用程序中使用tree、treegrid和treenode。我有这些事情:

addDragMoveHandler(new DragMoveHandler() {
        @Override
        public void onDragMove(DragMoveEvent event) {
            // this is the Node which is moving to other parent
            // it's parent is instance of PageFolder
            Node movingNode = (Node) getSelectedRecord();
        }
    });


    addRowHoverHandler(new RowHoverHandler() {
        @Override
        public void onRowHover(RowHoverEvent event) {
            Node _node = (Node) event.getRecord();
            if (_node.getModel() instanceof PageFolder) {
                // this _node can be the parent of the moving node
                // and it will change it's color using it's attribute in getBaseStyle
                _node.setAttribute("canBeParent", true);
            }
        }
    });

我想在OnDragove内部启动OnRowHover,因为像这样,第一个被称为OnDragove,完成后它被称为OnRowHover。如果该节点可以是拖动节点的父节点,则应立即亮显,而不是在将该节点拖放到其中时亮显。还有ondragstart和onfolderdroped事件。但我只喜欢让OnRowHover和OnDragove同步。

最佳答案

不需要尝试触发onrowhover事件,只需从ondragove处理程序调用相同的逻辑即可。

07-26 02:51