RadContextMenu 在单击按钮时关闭

RadContextMenu closes on button click

我试图让我的 RadContextMenu 在使用左键单击时保持打开状态。当我使用鼠标右键单击时它可以找到,因为这是默认设置,但我也想在右键单击时打开上下文菜单,它一打开就立即关闭。

布局

    <telerik:RadButton ID="btnGenerate" runat="server"
        Text="Generate..." ToolTip="Click to generate the tracking/tags/preview for the current creative"
        OnClientClicked="generateMenuItemOnLeftClick">
    </telerik:RadButton>
    <telerik:RadContextMenu ID="cmGenerate" runat="server" Flow="Horizontal"
        OnItemClick="cmGenerate_ItemClick" OnClientItemClicking="generateMenuItemClicking">
        <Items>
            <telerik:RadMenuItem runat="server" Text="Generate Tracking" Value="generateTracking" />
            <telerik:RadMenuItem runat="server" Text="Generate Preview" Value="generatePreview" />
            <telerik:RadMenuItem runat="server" Text="Generate Tags" Value="generateTags" />
        </Items>
        <Targets>
            <telerik:ContextMenuControlTarget ControlID="btnGenerate" />
        </Targets>
    </telerik:RadContextMenu>

JS

        function generateMenuItemOnLeftClick(sender, eventArgs) {
            var currentLocation = $telerik.getLocation(sender.get_element());
            var contextMenu = $find("<%=cmGenerate.ClientID%>");
            contextMenu.showAt(currentLocation.x, currentLocation.y + 22);
        }

这是给遇到同样问题的其他人的。我发现你必须调用

$telerik.cancelRawEvent(event);

紧接在 showAt(..) 方法之后。这取消了即时关闭的默认行为。