@@ -193,7 +193,7 @@ $.widget("moogle.contextmenu", {
193
193
self = this ,
194
194
manualTrigger = ! ! event . isTrigger ,
195
195
ui = { menu : this . $menu , target : $ ( event . target ) ,
196
- extraData : event . extraData , originalEvent : event ,
196
+ extraData : event . _extraData , originalEvent : event ,
197
197
result : null } ;
198
198
199
199
if ( ! opts . autoTrigger && ! manualTrigger ) {
@@ -337,10 +337,20 @@ $.widget("moogle.contextmenu", {
337
337
/** Open context menu on a specific target (must match options.delegate)
338
338
* Optional `extraData` is passed to event handlers as `ui.extraData`.
339
339
*/
340
- open : function ( target , extraData ) {
340
+ open : function ( targetOrEvent , extraData ) {
341
341
// Fake a 'contextmenu' event
342
342
extraData = extraData || { } ;
343
- var e = jQuery . Event ( "contextmenu" , { target : target . get ( 0 ) , extraData : extraData } ) ;
343
+
344
+ var isEvent = ( targetOrEvent && targetOrEvent . type && targetOrEvent . target ) ,
345
+ event = isEvent ? targetOrEvent : { } ,
346
+ target = isEvent ? targetOrEvent . target : targetOrEvent ,
347
+ e = jQuery . Event ( "contextmenu" , {
348
+ target : $ ( target ) . get ( 0 ) ,
349
+ pageX : event . pageX ,
350
+ pageY : event . pageY ,
351
+ originalEvent : isEvent ? targetOrEvent : undefined ,
352
+ _extraData : extraData
353
+ } ) ;
344
354
return this . element . trigger ( e ) ;
345
355
} ,
346
356
/** Replace the menu altogether. */
0 commit comments