我在 jquery API Ref 中读到,mouseenter 和 mouseleave 返回 jQuery 对象。但它们实际上返回布尔值。所以 jquery 1.9.0 中的悬停并没有真正起作用,因为代码是:
return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
有什么想法吗?谢谢。
您不能设置这样的事件处理程序。你应该像这样试一试:
return this.mouseenter( fnOver ).mouseleave( fnOut() || fnOver() );
您提供的示例与以下示例相同:
alert( true || false );
alert( false || true );
在这两个示例中,输出将在哪里,true
因为它是一个布尔值。
但是,您可以尝试创建一个独特的处理程序,该处理程序将在其结构中包含fnOut
和fnOver
函数的逻辑。
找出为什么会发生这种情况。其中一个框架是覆盖 on() 函数。