jQuery - Как «выключить» или «переопределить» именованную функцию - PullRequest
0 голосов
/ 28 мая 2011

Здравствуйте, у меня есть следующий HTML-код:

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

и код jquery:

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

и

$('.hoverContact').live("mouseover", function(){
    highlightContact(this);
});
$('.hoverContact').live("mouseout", function(){
    unhighlightContact(this);
});
$('.hoverContact').live("click", function(){
    highlightContact(this);
});

И я пытаюсь сохранить голубой цветкласс по щелчку, но, очевидно, когда я нажимаю, мне нужно отключить мышь, и он отключает класс lightblue ... поэтому мне нужна помощь, чтобы выяснить, как переопределить класс unhighlight ...

Спасибо

1 Ответ

1 голос
/ 28 мая 2011

Возможно, есть лучший способ, но я бы сделал это следующим образом: вы можете установить произвольные свойства с помощью jQuery и не испортить проверку вашей страницы или совместимость с браузером, вставив данные в атрибут html со случайным именем.«Правильный» способ сделать это - включить еще одно пространство имен XML в тег HTML, но я никогда не видел практической причины сделать это.

$('.hoverContact').attr('custom:on', '0')
.live("mouseover", function(){
    highlightContact(this);
})
.live("mouseout", function(){
    if ($(this).attr('custom:on') == '0') {
      unhighlightContact(this);
    }
})
.live("click", function(){
    $('.hoverContact').attr('custom:on', '0');
    $(this).attr('custom:on', '1');
    highlightContact(this);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...