Commit a05de404 authored by Dave Methvin's avatar Dave Methvin

Event: HTML5 drop events inherit from MouseEvent

Fixes gh-2009
Ref gh-1925
(cherry picked from commit d7e5fcee519e5f3e840beef9e67a536e75133df9)

Conflicts:
	test/unit/event.js
parent 87bb713c
...@@ -12,7 +12,7 @@ define([ ...@@ -12,7 +12,7 @@ define([
var rformElems = /^(?:input|select|textarea)$/i, var rformElems = /^(?:input|select|textarea)$/i,
rkeyEvent = /^key/, rkeyEvent = /^key/,
rmouseEvent = /^(?:mouse|pointer|contextmenu|drag)|click/, rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
rtypenamespace = /^([^.]*)(?:\.(.+)|)/; rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
......
...@@ -2481,21 +2481,26 @@ test("fixHooks extensions", function() { ...@@ -2481,21 +2481,26 @@ test("fixHooks extensions", function() {
// this test in IE8 since a native HTML5 drag event will never occur there. // this test in IE8 since a native HTML5 drag event will never occur there.
if ( document.createEvent ) { if ( document.createEvent ) {
test( "drag events copy over mouse related event properties (gh-1925)", function() { test( "drag/drop events copy mouse-related event properties (gh-1925, gh-2009)", function() {
expect( 2 ); expect( 4 );
var $fixture = jQuery( "<div id='drag-fixture'></div>" ).appendTo( "body" ); var $fixture = jQuery( "<div id='drag-fixture'></div>" ).appendTo( "body" );
$fixture.on( "dragmove", function( evt ) { $fixture.on( "dragmove", function( evt ) {
ok( "pageX" in evt, "checking for pageX property" ); ok( "pageX" in evt, "checking for pageX property on dragmove" );
ok( "pageY" in evt, "checking for pageY property" ); ok( "pageY" in evt, "checking for pageY property on dragmove" );
}); });
fireNative( $fixture[ 0 ], "dragmove" ); fireNative( $fixture[ 0 ], "dragmove" );
$fixture.unbind( "dragmove" ).remove();
$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 ], "drop" );
$fixture.unbind( "dragmove drop" ).remove();
}); });
} }
test( "focusin using non-element targets", function() { test( "focusin using non-element targets", function() {
expect( 2 ); expect( 2 );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment