我正在尝试使用左键单击使我的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);
}
答案 0 :(得分:1)
这适用于有同样问题的其他人。我发现你必须打电话
$telerik.cancelRawEvent(event);
在showAt(..)方法之后。这将取消默认行为,即即时关闭。