Закрыть Bootstrap Модал

Как я не могу комментировать, поэтому я напишу это как ответ!

Пожалуйста, обратите внимание на разницу между css-селектором «: hover» и событием hover!

«: hover» является селектором css и действительно удалился с событием при его использовании $("#elementId").is(":hover"), но в этом смысле это не имеет никакого отношения к зависанию события jQuery.

, если вы код $("#elementId:hover"), элемент будет выбран только при наведении мыши. вышеприведенный оператор будет работать со всеми версиями jQuery, поскольку вы выбираете этот элемент с чистым и законным выбором css.

С другой стороны, наведение события, которое является

$("#elementId").hover(
     function() { 
         doSomething(); 
     }
); 

, действительно отменено как jQuery 1.8 здесь состояние с сайта jQuery:

Когда используется имя события «hover», подсистема событий преобразует ее в «mouseenter mouseleave» в строке события. Это раздражает по нескольким причинам:

Семантика: зависание - это не то же самое, что вводить и оставлять элемент мыши, это означает некоторое замедление или задержку перед стрельбой. Название события: Event.type, возвращаемый прикрепленным обработчиком, не зависает, но либо с помощью мыши, либо с помощью мыши. Ни одно другое событие не делает этого. Сопоставление имени «hover»: невозможно связать событие с именем «hover» и запустить его с помощью .trigger («hover»). Документы уже назвали это имя «сильно обескураженным для нового кода», я хотел бы официально отказаться от него в версии 1.8 и в конечном итоге удалить его.

Почему они удалили использование («: hover ») неясно, но хорошо, вы все равно можете использовать его, как указано выше, и вот немного взломать его до сих пор.

(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);

О, и я бы не стал рекомендовать версию тайм-аута, поскольку это приносит много сложности, используйте таймаут-функции для такого рода вещей, если нет другого пути и поверьте мне, в 95% процентов всех случаев есть другой способ!

Надеюсь, я помогу пару людей там.

Greetz Andy

389
задан Arslan Ali 3 March 2016 в 07:08
поделиться