Skip to content

Commit 729c8ca

Browse files
committed
Allow to pass mouse click events to open()
Close mar10#104
1 parent 36ce1d4 commit 729c8ca

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# 1.12.1-0 / Unreleased
22

33
* [FEATURE] Test with jQuery 3
4+
* [FEATURE] #104 Allow to pass mouse click events to `open()`
45

56
# 1.12.0 / 2016-05-18
67

jquery.ui-contextmenu.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ $.widget("moogle.contextmenu", {
193193
self = this,
194194
manualTrigger = !!event.isTrigger,
195195
ui = { menu: this.$menu, target: $(event.target),
196-
extraData: event.extraData, originalEvent: event,
196+
extraData: event._extraData, originalEvent: event,
197197
result: null };
198198

199199
if ( !opts.autoTrigger && !manualTrigger ) {
@@ -337,10 +337,20 @@ $.widget("moogle.contextmenu", {
337337
/** Open context menu on a specific target (must match options.delegate)
338338
* Optional `extraData` is passed to event handlers as `ui.extraData`.
339339
*/
340-
open: function(target, extraData) {
340+
open: function(targetOrEvent, extraData) {
341341
// Fake a 'contextmenu' event
342342
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+
});
344354
return this.element.trigger(e);
345355
},
346356
/** Replace the menu altogether. */

0 commit comments

Comments
 (0)