I recently found the following example on your site demonstrating the handling of the grid RowContextMenu event and showing the menu. http://demos.telerik.com/aspnet-ajax/controls/examples/integration/gridandmenu/defaultcs.aspx?product=grid
This example included the RowContextMenu handler:
function GridRowContextMenuHandler(sender, eventArgs) { var menu = $find("<%= menuId.ClientId %>"); var evt = eventArgs.get_domEvent(); if (evt.target.tagName == "INPUT" || evt.target.tagName == "A") { return; } var rowIndex = eventArgs.get_itemIndexHierarchical(); menu.show(evt); evt.cancelBubble = true; evt.returnValue = false; if (evt.stopPropagation) { evt.stopPropagation(); evt.preventDefault(); } }
I have some code which I have been using since way back in the Prometheus days and I'm trying to figure out if it is equivalent to what you show in your example. It seems this code is more concise. Is there any benefit or drawback to using what I have here?
function GridRowContextMenuHandler(sender, eventArgs) { var menu = $find("<%= menuId.ClientId %>"); if ((!eventArgs.relatedTarget) || (!Telerik.Web.DomUtility.isDescendantOrSelf(menu.get_element(), eventArgs.relatedTarget))) { menu.show(eventArgs) } $telerik.cancelRawEvent(eventArgs); }