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);
}