Skip to main content

Bug Tracker

Side navigation

#8562 closed bug (invalid)

Opened March 18, 2011 02:35PM UTC

Closed March 18, 2011 02:59PM UTC

In a javascript 'class' where 'this' refers to the object, hover with proxy does not work, but mousenter/mouseleave does.

Reported by: rfitzhugh Owned by: rfitzhugh
Priority: undecided Milestone:
Component: unfiled Version: 1.5.1
Keywords: Cc:
Blocked by: Blocking:
Attachments (0)
Change History (3)

Changed March 18, 2011 02:45PM UTC by rfitzhugh comment:1

Using IE8 and jQuery 1.5. Have simple jscript 'class'. Discovered that hover with proxy (where 'this' refers to the jscript object) does not work (meaning the function(s) in the hover never execute) although mouseenter/mouseleave with the same proxy and functions do work.

The following works:

.mouseenter($.proxy(this.doHover, this))

.mouseleave($.proxy(this.unDoHover, this))

The following does NOT work:

.hover(function() {$.proxy(this.doHover, this)}, function () {$.proxy(this.unDoHover, this)})

No errors are thrown, but the functions do not execute.

Thank you.

Changed March 18, 2011 02:58PM UTC by ajpiano comment:2

owner: → rfitzhugh
status: newpending

Thank you for your time and interest in helping the jQuery project, but we require that all bugs have a testcase that demonstrates the issue on jsFiddle or jsBin. If you can provide one, we'll be happy to investigate this issue further. Thanks!

Changed March 18, 2011 02:59PM UTC by ajpiano comment:3

resolution: → invalid
status: pendingclosed

Hm. It actually looks like you're just using proxy wrong in the hover statement.

.hover($.proxy(this.doHover,this),$.proxy(this.unDoHover,this)); is what you should be using. The way you have it now, it's just creating new proxy functions on every hover, and never firing them.