From b7da3b00439f9217922544c644150cac7528ce5a Mon Sep 17 00:00:00 2001 From: Dave Methvin Date: Thu, 19 Sep 2013 11:34:48 -0400 Subject: [PATCH] Fix #13993. Save result of native inline handlers. Close gh-1368. (cherry picked from commit 3bcd04f528597dac0a7084865461574ab4a06465) --- src/event.js | 7 +++++-- test/unit/event.js | 8 ++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/event.js b/src/event.js index f99613851..3f900e2b4 100644 --- a/src/event.js +++ b/src/event.js @@ -318,8 +318,11 @@ jQuery.event = { // Native handler handle = ontype && cur[ ontype ]; - if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { - event.preventDefault(); + if ( handle && handle.apply && jQuery.acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } } } event.type = type; diff --git a/test/unit/event.js b/test/unit/event.js index 1cc5501c6..d81551da9 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -2686,3 +2686,11 @@ test( "String.prototype.namespace does not cause trigger() to throw (#13360)", f equal( errored, false, "trigger() did not throw exception" ); delete String.prototype.namespace; }); + +test( "Inline event result is returned (#13993)", function() { + expect( 1 ); + + var result = jQuery("

hello

").triggerHandler("click"); + + equal( result, 42, "inline handler returned value" ); +}); -- 2.39.5