mirror of
https://github.com/jquery/jquery.git
synced 2026-02-07 16:04:57 -05:00
DRY the hover pseudo-event, get the type right, allow override.
Now with working unit test for extra correctness! If external code defines a special.hover event, we won't string-hack "hover" into "mouseenter mouseleave".
This commit is contained in:
@@ -26,6 +26,9 @@ var rnamespaces = /\.(.*)$/,
|
||||
(!m[2] || elem.id === m[2]) &&
|
||||
(!m[3] || m[3].test( elem.className ))
|
||||
);
|
||||
},
|
||||
hoverHack = function( events ) {
|
||||
return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -76,7 +79,7 @@ jQuery.event = {
|
||||
|
||||
// Handle multiple events separated by a space
|
||||
// jQuery(...).bind("mouseover mouseout", fn);
|
||||
types = types.replace( rhoverHack, "mouseover$1 mouseout$1" ).split( " " );
|
||||
types = hoverHack(types).split( " " );
|
||||
for ( t = 0; t < types.length; t++ ) {
|
||||
|
||||
tns = rtypenamespace.exec( types[t] ) || [];
|
||||
@@ -166,7 +169,7 @@ jQuery.event = {
|
||||
}
|
||||
|
||||
// Once for each type.namespace in types; type may be omitted
|
||||
types = ( types || "" ).replace( rhoverHack, "mouseover$1 mouseout$1" ).split(" ");
|
||||
types = hoverHack( types || "" ).split(" ");
|
||||
for ( t = 0; t < types.length; t++ ) {
|
||||
tns = rtypenamespace.exec( types[t] ) || [];
|
||||
type = tns[1];
|
||||
|
||||
Reference in New Issue
Block a user