jQuery - Справка по простой функции наведения мыши - PullRequest
0 голосов
/ 28 мая 2011

У меня есть следующий HTML:

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

И следующий Jquery:

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

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

Есть предложения?Спасибо!

Ответы [ 2 ]

2 голосов
/ 28 мая 2011

используйте метод 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 голос
/ 28 мая 2011

Вы пытаетесь использовать this внутри highlightContact, когда функция не имеет контекста.Кроме того, функция принимает параметр ev, но вы не передаете его. Вместо этого передайте this в функцию наведения мыши и укажите ev вместо this в функции highlightContact:

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

    $('.hoverContact').mouseover(function(){
        highlightContact(this);
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...