8000 Widget factory: _trigger will now set event.result if the callback re… · ainformatico/jquery-ui@142fddb · GitHub
Skip to content

Commit 142fddb

Browse files
committed
Widget factory: _trigger will now set event.result if the callback returns a value. The created event is now always run through $.Event to reset isDefaultPrevent(), isPropagationStopped(), isImmediatePropagationStopped().
1 parent a6471b1 commit 142fddb

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

ui/ui.core.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -370,13 +370,20 @@ $.widget.prototype = {
370370
eventName = (type == this.widgetEventPrefix
371371
? type : this.widgetEventPrefix + type);
372372

373-
event = event ? $.event.fix(event) : $.Event();
373+
// event can be null, a hash, a native event, a fixed event
374+
event = $.Event(event);
374375
event.type = eventName;
375376

376377
this.element.trigger(event, data);
377-
378-
return !(callback && callback.call(this.element[0], event, data) === false
379-
|| event.isDefaultPrevented());
378+
var callbackResult = callback
379+
? callback.call(this.element[0], event, data)
380+
: undefined;
381+
382+
event.result = callbackResult !== undefined
383+
? callbackResult
384+
: event.result;
385+
386+
return event.result !== false;
380387
}
381388
};
382389

0 commit comments

Comments
 (0)