jQuery `[jQuery created Element] .is (: hover)` Кажется, работает только в Chrome

Пожалуйста, посмотрите код ниже (очень урезанный, а не моя полная функция). У меня также есть скрипка, которую вы можете проверить по адресу: https://jsfiddle.net/glenn2223/uk7e7rwe/1/

var 
    hov = $("<div class=\"over\">I'm Over You</div>"),
    box = $("<div>Result: WAITING</div>")


$("body").append(hov).append(box);

$("#MeHover").on('mouseleave', function(){
    var d = new Date();
    box.text("Result: " + hov.is(":hover").toString().toUpperCase() );
});

У нас есть div и div.over немного перекрывает его. Когда вы переходите от div к div.over, я хочу, чтобы функция вернула истину.

В моей полной функции: это не позволяет ему скрывать элемент div.over.

Открыв его в Chrome, он работает как положено. Однако его нет почти во всем остальном (протестировано в Edge, IE11 и Firefox).


person glenn223    schedule 20.09.2017    source источник
comment
Я использую jQuery 3.1.0, кстати   -  person glenn223    schedule 20.09.2017
comment
У меня скрипка работает одинаково в Chrome и IE11   -  person Nope    schedule 20.09.2017
comment
@Fran. Это странно. Означает ли это, что оба работают или оба не работают? Какая версия IE у вас установлена? Я нахожусь в версии: 11.608.15063.0 - Версия обновления: 11.0.46   -  person glenn223    schedule 20.09.2017
comment
Вы упоминаете в своем сообщении, что код ведет себя иначе в браузерах, отличных от Chrome. Когда запускаете скрипку в Chrome или IE11.0.9600.18792 с обновлением версии 11.0.46, она ведет себя в обоих браузерах одинаково при наведении курсора на области, время в тексте обновляется одинаково. Правильно это или нет, я понятия не имею, но поведение идентично.   -  person Nope    schedule 20.09.2017
comment
Так оба говорят TRUE? Обновление времени (в скрипке) предназначено только для того, чтобы вы знали, что действие выполняется. Если да, то это может быть ваша версия, если вы используете 11.0.9600. Что вы думаете? Чертов IE!   -  person glenn223    schedule 20.09.2017
comment
AFAIK не существует :hover селектора - это jQuery - как вы пришли к этой идее? $ .is () нужен селектор. РЕДАКТИРОВАТЬ: nvm - вам нужен селектор pure-css через jq   -  person birdspider    schedule 20.09.2017
comment
@see: stackoverflow.com/a/8010298/2645347   -  person birdspider    schedule 20.09.2017
comment
@ glenn223 Хорошо, я идиот. Я смотрел на время и никогда не видел истинной лжи. Извините. IE работает со встроенным :hover без проблем, как и в someselector:hover, однако у него всегда были проблемы с .is() Не уверен, как это можно обойти, если у вас нет фактической строковой ссылки на селектор, который вы могли бы объединить с :hover   -  person Nope    schedule 20.09.2017


Ответы (1)


Итак, мы выяснили, почему это не работает, :hover был удален из .is() некоторое время назад.

Вместо того, чтобы менять этот вопрос в соответствии с моими выводами, я задам другой (избавляет от путаницы).


Мой новый вопрос: Не закрывайте элемент jQuery Appended при наведении курсора

person glenn223    schedule 20.09.2017