Skip to content

Commit 3bcd04f

Browse files
committed
Fix #13993. Save result of native inline handlers. Close jquerygh-1368.
1 parent 4375750 commit 3bcd04f

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/event.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,11 @@ jQuery.event = {
312312

313313
// Native handler
314314
handle = ontype && cur[ ontype ];
315-
if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) {
316-
event.preventDefault();
315+
if ( handle && handle.apply && jQuery.acceptData( cur ) ) {
316+
event.result = handle.apply( cur, data );
317+
if ( event.result === false ) {
318+
event.preventDefault();
319+
}
317320
}
318321
}
319322
event.type = type;

test/unit/event.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2613,3 +2613,11 @@ test( "String.prototype.namespace does not cause trigger() to throw (#13360)", f
26132613
equal( errored, false, "trigger() did not throw exception" );
26142614
delete String.prototype.namespace;
26152615
});
2616+
2617+
test( "Inline event result is returned (#13993)", function() {
2618+
expect( 1 );
2619+
2620+
var result = jQuery("<p onclick='return 42'>hello</p>").triggerHandler("click");
2621+
2622+
equal( result, 42, "inline handler returned value" );
2623+
});

0 commit comments

Comments
 (0)