2015-11-25 46 views
0

我想让我的RadContextMenu在使用左键单击时保持打开状态。当我使用鼠标右键单击时,它会发挥作用,因为这是默认设置,但我也想在右键单击时打开上下文菜单,打开后立即关闭它。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); 
     } 

回答

1

这是谁具有相同的问题的其他人。我发现,你必须调用

$telerik.cancelRawEvent(event); 

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