var rformElems = /^(?:input|select|textarea)$/i,
rkeyEvent = /^key/,
- rmouseEvent = /^(?:mouse|pointer|contextmenu|drag)|click/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
// this test in IE8 since a native HTML5 drag event will never occur there.
if ( document.createEvent ) {
- 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.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() {
expect( 2 );