1

可能重复:
将委托()与悬停()一起使用?

我正在尝试这段代码,但显然我做错了什么。使用此代码,hover效果不起作用。

然而,类似的东西:$('.group>span').hover (function() {效果很好,但我需要委派html()内容。

<div class="group">
    <span></span>
</div>

$('.group>span').delegate("hover", "a", function() {
    $(this).html('<a href="#new_list">Some button</a>');
}, function() {
    $(this).empty();
});​

任何的想法?谢谢

4

2 回答 2

0

hover只是一个方便的包装mouseentermouseleave. 我认为您将不得不分别处理每个。

于 2012-04-10T01:10:17.653 回答
0

您传递给 的参数数量delegate无效。你通过了4,而它应该只需要 3。

.delegate( selector, eventType, handler(eventObject) )是函数签名。
而且你代码中参数的顺序是错误的!你交换了选择器和事件类型

你写了这个:

$('.group>span').delegate ("hover", "a", function() {

虽然它应该是这个顺序:

$('.group>span').delegate ("a", "hover", function() {

无论如何,您可以使用delegate这种hover方式:

$('.group>span').delegate("a", "mouseenter", function() {
    $(this).html('<a href="#new_list">Some button</a>');
});

$('.group>span').delegate("a", "mouseleave", function() {
    $(this).empty();
}​);

现场演示
您可以在这个问题中看到另一种方法:
Using delegate() with hover()?

于 2012-04-10T01:10:45.907 回答