From 97cf5280824027c3d4fcdbb4db49c10ad3c62bce Mon Sep 17 00:00:00 2001 From: Aditya Raghavan Date: Sat, 20 Dec 2014 18:41:24 -0500 Subject: [PATCH] Event: Normalize mouse event properties in drag events DragEvent is a superset of MouseEvent, so we want to fix up mouse properties like pageX and pageY. Fixes gh-1925 --- src/event.js | 2 +- test/unit/event.js | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/event.js b/src/event.js index 93b68d25f..11b2ea904 100644 --- a/src/event.js +++ b/src/event.js @@ -14,7 +14,7 @@ define([ var rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag)|click/, rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, rtypenamespace = /^([^.]*)(?:\.(.+)|)/; diff --git a/test/unit/event.js b/test/unit/event.js index 8e33c6b90..d3a7ef231 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -2444,6 +2444,20 @@ test("fixHooks extensions", function() { jQuery.event.fixHooks.click = saved; }); +test( "drag events copy over mouse related event properties (gh-1925)", function() { + expect( 2 ); + + var $fixture = jQuery( "
" ).appendTo( "body" ); + + $fixture.on( "dragmove", function( evt ) { + ok( "pageX" in evt, "checking for pageX property" ); + ok( "pageY" in evt, "checking for pageY property" ); + }); + + fireNative( $fixture[ 0 ], "dragmove" ); + $fixture.unbind( "dragmove" ).remove(); +}); + test( "focusin using non-element targets", function() { expect( 2 ); -- 2.39.5