jQuery - 简单的鼠标悬停功能帮助

时间:2011-05-28 02:41:22

标签: jquery javascript-events

我有以下HTML:

    img class="hoverContact"
    img class="hoverContact"
    img class="hoverContact"

以下Jquery:

    function highlightContact(ev) {
        $(this).addClass('lightblue');  
    }

    $('.hoverContact').mouseover(function(){
        highlightContact();
    });

有什么建议吗?谢谢!

2 个答案:

答案 0 :(得分:2)

使用apply()方法,以便this函数中的 highlightContrast() 引用相关的img标记。

function highlightContact(ev) {
    $(this).addClass('lightblue');  
}

$('.hoverContact').mouseover(function(){
    highlightContact.apply(this);
});

或者,如果您根本不需要ev - 如果您要做的只是添加该类,则可以完全摆脱function highlightContact(){...}并简单地使用:

$('.hoverContact').mouseover(function(){
    $(this).addClass('lightblue');
});

答案 1 :(得分:1)

当函数没有上下文时,您尝试在this内使用highlightContact。此外,该函数采用参数ev,但您没有将其传入。而是从鼠标悬停函数传递this并在{1}}中引用ev而不是this highlightContact函数:

function highlightContact(ev) {
        $(ev).addClass('lightblue');  
    }

    $('.hoverContact').mouseover(function(){
        highlightContact(this);
    });