Event: HTML5 drop events inherit from MouseEvent

Fixes gh-2009
Ref gh-1925
This commit is contained in:
Dave Methvin 2015-01-14 14:34:09 -05:00
parent 74ae544483
commit d7e5fcee51
2 changed files with 14 additions and 7 deletions

View File

@ -14,7 +14,7 @@ define([
var
rkeyEvent = /^key/,
rmouseEvent = /^(?:mouse|pointer|contextmenu|drag)|click/,
rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
rtypenamespace = /^([^.]*)(?:\.(.+)|)/;

View File

@ -2444,18 +2444,25 @@ test("fixHooks extensions", function() {
jQuery.event.fixHooks.click = saved;
});
test( "drag events copy over mouse related event properties (gh-1925)", function() {
expect( 2 );
test( "drag/drop events copy mouse-related event properties (gh-1925, gh-2009)", function() {
expect( 4 );
var $fixture = jQuery( "<div id='drag-fixture'></div>" ).appendTo( "body" );
$fixture.on( "dragmove", function( evt ) {
ok( "pageX" in evt, "checking for pageX property" );
ok( "pageY" in evt, "checking for pageY property" );
ok( "pageX" in evt, "checking for pageX property on dragmove" );
ok( "pageY" in evt, "checking for pageY property on dragmove" );
});
fireNative( $fixture[ 0 ], "dragmove" );
$fixture.on( "drop", function( evt ) {
ok( "pageX" in evt, "checking for pageX property on drop" );
ok( "pageY" in evt, "checking for pageY property on drop" );
});
fireNative( $fixture[ 0 ], "dragmove" );
$fixture.unbind( "dragmove" ).remove();
fireNative( $fixture[ 0 ], "drop" );
$fixture.unbind( "dragmove drop" ).remove();
});
test( "focusin using non-element targets", function() {