Ok, I didn't get any real interest in this issue so I'll post my work-around:
instead of applying the context menu to each rows onclick event I instead apply a must more efficient function that creates the context menu when you click on the row:
function ApplyContextMenu() {
if(jsonCellIndex>=0) {
$("table[id$='CarmaTable_Body']").find("tbody").find("tr").each(function() {
$(this).mousedown(function() {
ApplyContextMenuRow(this);
});
});
}
}
I commented out the bit I didn't need as I thought I might have to trigger the event again to get the context menu to show. This would have been awkwardly and unintentionally recursive. Fortunately, the events stacked in my favour and the context menu triggers after this. I'm not sure how this worked but I'm glad it did :D
If you have a better idea then
please post and I'll get around to reviewing / accepting it later
Thanks ;)