mirror of
https://github.com/jquery/jquery.git
synced 2026-02-01 15:15:00 -05:00
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 (cherry picked from commit 389b2ab3b93bfd68ca6c6153a43e11d93ab9ec71)
This commit is contained in:
committed by
Dave Methvin
parent
a0bf5bf710
commit
5b0b1b77db
@@ -12,7 +12,7 @@ define([
|
||||
|
||||
var rformElems = /^(?:input|select|textarea)$/i,
|
||||
rkeyEvent = /^key/,
|
||||
rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,
|
||||
rmouseEvent = /^(?:mouse|pointer|contextmenu|drag)|click/,
|
||||
rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
|
||||
rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
|
||||
|
||||
|
||||
@@ -2477,6 +2477,25 @@ test("fixHooks extensions", function() {
|
||||
jQuery.event.fixHooks.click = saved;
|
||||
});
|
||||
|
||||
// IE8 doesn't support custom event triggering natively, but we can skip
|
||||
// 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 );
|
||||
|
||||
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" );
|
||||
});
|
||||
|
||||
fireNative( $fixture[ 0 ], "dragmove" );
|
||||
$fixture.unbind( "dragmove" ).remove();
|
||||
});
|
||||
}
|
||||
|
||||
test( "focusin using non-element targets", function() {
|
||||
expect( 2 );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user