This is a migrated thread and some comments may be shown as answers.

Client event OnClientMouseOver issue when NodeTemplate is used

1 Answer 90 Views
TreeView
This is a migrated thread and some comments may be shown as answers.
Shukhrat Nekbaev
Top achievements
Rank 1
Shukhrat Nekbaev asked on 13 Oct 2011, 07:29 PM
Hi,

I'm having an issue that client event OnClientMouseOver is fired more than once when I hover item (I haven't checked other events yet):
<telerik:RadTreeView ID="tvProjectElementsWithoutTocEntries" runat="server"
                            Width="100%" Height="100%" OnClientContextMenuItemClicking="contextMenuItemClicking"
                            OnClientMouseOver="onTreeViewItemMouseOver"
                             
                            onnodeclick="tvProjectElementsWithoutTocEntries_NodeClick"
                            >
                            <DataBindings>
                                <telerik:RadTreeNodeBinding Expanded="true" />
                            </DataBindings>
                            <Nodes>
                                <telerik:RadTreeNode runat="server" Text="Root RadTreeNode1">
                                    <Nodes>
                                        <telerik:RadTreeNode runat="server" Text="Child RadTreeNode 1">
                                        </telerik:RadTreeNode>
                                        <telerik:RadTreeNode runat="server" Text="Child RadTreeNode 2 123456789">
                                        </telerik:RadTreeNode><telerik:RadTreeNode runat="server" Text="Child RadTreeNode 1">
                                        </telerik:RadTreeNode>
                                        <telerik:RadTreeNode runat="server" Text="Child RadTreeNode 2 123456789">
                                        </telerik:RadTreeNode><telerik:RadTreeNode runat="server" Text="Child RadTreeNode 1">
                                        </telerik:RadTreeNode>
                                        <telerik:RadTreeNode runat="server" Text="Child RadTreeNode 2 123456789">
                                        </telerik:RadTreeNode>
                                    </Nodes>
                                </telerik:RadTreeNode>
                                <telerik:RadTreeNode runat="server" Text="Root RadTreeNode2 123456789">
                                    <Nodes>
                                        <telerik:RadTreeNode runat="server" Text="Child RadTreeNode 1">
                                        </telerik:RadTreeNode>
                                    </Nodes>
                                </telerik:RadTreeNode>
                            </Nodes>
                            <ContextMenus>
                                <telerik:RadTreeViewContextMenu ID="ProjectElementsWithoutTocEntriesContextMenu" runat="server">
                                    <Items>
                                        <telerik:RadMenuItem Value="RestoreTocEntry" Text="Resources:PGC, ProjectContentElement_RestoreProjectContentElementTocData" ImageUrl="~/Images/gear.png">
                                        </telerik:RadMenuItem>
                                        <telerik:RadMenuItem Value="Delete" Text="Resources:PGC, General_Delete" ImageUrl="~/Images/gear.png">
                                        </telerik:RadMenuItem>
                                    </Items>
                                    <CollapseAnimation Type="none" />
                                </telerik:RadTreeViewContextMenu>
                            </ContextMenus>
                            <NodeTemplate>
                                <div>
                                    <span class="pageNum"></span>
                                    <%# DataBinder.Eval(Container, "Text") %>
                                    <img class="treeGear" src="/Images/gear.png" alt="Options" width="13px" height="13px"></img>
                                </div>
                            </NodeTemplate>
                        </telerik:RadTreeView>

JS:
function onTreeViewItemMouseOver(sender, args) {
console.log("Mouse over");
}

I was testing in IE9 and developer tools console. To "fix" that event comment out <NodeTemplate>
Screenshot attached.

1 Answer, 1 is accepted

Sort by
0
Shukhrat Nekbaev
Top achievements
Rank 1
answered on 13 Oct 2011, 07:44 PM
Hi,

my current workaround which prevents me from hovering on same node again :)))) seems like mouseOut is called after each new mouseOver, so can't reset that oldHover there :)

var oldHover;
function onTreeViewItemMouseOver(sender, args) {
    var node = args.get_node();
    if (oldHover == node)
        return;
     
    oldHover = node;
     
    ....
    ...
}

Tags
TreeView
Asked by
Shukhrat Nekbaev
Top achievements
Rank 1
Answers by
Shukhrat Nekbaev
Top achievements
Rank 1
Share this question
or