不能使用.bind()来绑定hover

我试验了jQuery。 在我尝试的时候,我发现我不能在.bind中使用hover事件。 我不知道出了什么问题。

$(document).ready(function(){ $('.some-class').bind({ hover: function(e) { // Hover event handler alert("hover"); }, click: function(e) { // Click event handler alert("click"); }, blur: function(e) { // Blur event handler } }); }); 

令人惊讶的是(至少对我而言)是hover不起作用。 其他“点击”和“模糊”工作正常。

以下工作也没有任何问题。

 $(".some-class").hover(function(){ // stuff }) 

也许我可以使用上面的代码。 但不知道为什么会是一个很大的麻烦。 那么任何想法?

谢谢!

在绑定对象时,您需要直接使用.hover()mouseleave事件( .hover()使用),如下所示:

 $(document).ready(function(){ $('.some-class').bind({ mouseenter: function(e) { // Hover event handler alert("hover"); }, mouseleave: function(e) { // Hover event handler alert("hover"); }, click: function(e) { // Click event handler alert("click"); }, blur: function(e) { // Blur event handler } }); }); 

.hover()在jQuery事件代码中特别定义 …它不像.bind()类的其他事件一样受支持,因为它不是一个事件,它只是一个帮助你绑定mouseentermouseleave事件。

没有多少原因,但它根本不在规范中。 检查doc-hover未列在可绑定事件中。

http://api.jquery.com/bind/