Bug Tracker

Opened 11 years ago

Closed 11 years ago

Last modified 10 years ago

#11731 closed enhancement (fixed)

Deprecate "hover" pseudo-event

Reported by: dmethvin Owned by:
Priority: low Milestone: 1.8
Component: event Version: 1.7.2
Keywords: Cc:
Blocked by: Blocking:

Description

When the event name "hover" is used, the event subsystem converts it to "mouseenter mouseleave" in the event string. This is annoying for several reasons:

  • Semantics: Hovering is not the same as the mouse entering and leaving an element, it implies some amount of deceleration or delay before firing.
  • Event name: The event.type returned by the attached handler is not hover, but either mouseenter or mouseleave. No other event does this.
  • Co-opting the "hover" name: It is not possible to attach an event with the name "hover" and fire it using .trigger("hover").

The docs already call this name "strongly discouraged for new code", I'd like to deprecate it officially for 1.8 and eventually remove it.

Change History (4)

comment:1 Changed 11 years ago by dmethvin

Component: unfiledevent
Milestone: None1.8
Priority: undecidedlow
Status: newopen
Type: bugenhancement

comment:2 Changed 11 years ago by dmethvin

Resolution: fixed
Status: openclosed

Docs updated.

comment:3 Changed 10 years ago by jquery@…

I cannot find any documentation that hover is actually deprecated. Any chance of updating http://api.jquery.com/hover/ and perhaps http://api.jquery.com/category/deprecated/

comment:4 in reply to:  3 Changed 10 years ago by jquery@…

Ah! My bad, [.on("hover"...)](http://api.jquery.com/on/#additional-notes) is deprecated, not .hover()

Replying to jquery@…:

I cannot find any documentation that hover is actually deprecated. Any chance of updating http://api.jquery.com/hover/ and perhaps http://api.jquery.com/category/deprecated/

Note: See TracTickets for help on using tickets.