Como não posso comentar, escreverei isso como resposta!
Por favor, entenda a diferença entre o seletor css ": hover" e o evento hover!
": hover" é um seletor de css e foi de fato removido com o evento quando usado assim $("#elementId").is(":hover")
, mas significa que ele realmente não tem nada a ver com o hover de evento do jQuery.
se você codificar $("#elementId:hover")
, o elemento só será selecionado quando você passar o mouse com o mouse. a instrução acima funcionará com todas as versões do jQuery à medida que você seleciona esse elemento com a seleção pura e legítima do css.
Por outro lado, o evento passa o mouse que é
$("#elementId").hover(
function() {
doSomething();
}
);
é realmente preterido como jQuery 1.8 aqui o estado do site jQuery:
Quando o nome do evento "pairar" é usado, o subsistema de eventos o converte em "mouseenter mouseleave" na cadeia de eventos. Isso é irritante por vários motivos:
Semântica: pairar não é o mesmo que o mouse que entra e sai de um elemento, implica uma certa desaceleração ou atraso antes do disparo. Nome do evento: O event.type retornado pelo manipulador anexado não passa o mouse, mas sim o mouseenter ou mouseleave. Nenhum outro evento faz isso. Cooptando o nome "hover": Não é possível anexar um evento com o nome "hover" e dispará-lo usando .trigger ("hover"). Os documentos já chamam esse nome de "fortemente desencorajado por novo código". Gostaria de desaprová-lo oficialmente para 1.8 e eventualmente removê-lo.
Por que eles removeram o uso não é claro (": hover"), mas tudo bem, você ainda pode usá-lo como acima e aqui está um pequeno truque para usá-lo.
(function ($) {
/**
* :hover selector was removed from jQuery 1.8+ and cannot be used with .is(":hover")
* but using it in this way it works as :hover is css selector!
*
**/
$.fn.isMouseOver = function() {
return $(this).parent().find($(this).selector + ":hover").length > 0;
};
})(jQuery);
Ah, e eu não recomendaria a versão do timeout, pois isso traz muita complexidade , use as funcionalidades de timeout para esse tipo de coisa se não houver outra maneira e acredite: em 95% dos casos, existe outra maneira !
Espero poder ajudar algumas pessoas por aí.
Greetz Andy