0

继续问题 -在 jquery1.9 中替换 hover()?

如果 .hover() 在 1.9 中仍然可以正常工作,我在控制台中看到以下错误,用 mouseenter、mouseleave 替换悬停。

下面的代码和错误截图

  this.handle=this.handles.eq(0);

this.handles.add(this.range).filter("a").click(function(c){c.preventDefault()}).hover(function(){a.disabled||d(this).addClass ("ui-state-hover")}

在此处输入图像描述

4

2 回答 2

1

.hover() 仍然受支持,它是已删除的伪事件。

例如

.bind( "hover", function() {})

应该替换为

.bind( "mouseenter mouseleave", function() {})

参考:http: //jquery.com/upgrade-guide/1.9/#quot-hover-quot-pseudo-event

于 2014-03-13T08:17:43.583 回答
0

回答这个问题有点困难,因为您已经知道在您的问题中什么是弃用的,什么不是。但是您真正想知道的是,为什么您的代码在代码中看起来一切正常时会抛出警告。

所以我们必须弄清楚你的代码中发生了什么。例如,这段代码指的是什么?您的代码中的“onHover”是什么?

this.element.hover(this.options.onHover);

供参考:http ://api.jquery.com/on/#additional-notes “在 jQuery 1.8 中已弃用,在 1.9 中删除:名称“hover”用作字符串“mouseenter mouseleave”的简写。它附加了一个这两个事件的事件处理程序,并且处理程序必须检查 event.type 以确定事件是 mouseenter 还是 mouseleave。不要将“悬停”伪事件名称与 .hover() 方法混淆,后者接受一个或两个功能。

于 2014-03-13T08:22:52.347 回答