У меня есть событие mouseover и событие mouseout, которое показывает и скрывает изображения ... Это работает нормально, пока изображение полностью кэшируется / загружается.
Если я перехожу на изображение и оставляю определенныйdiv (где должны накапливаться mouseover и mouseout) быстро во время процесса загрузки, событие mouseout не сработает, и изображение всегда будет отображаться до тех пор (только если я повторно войду и уйду с кэшированным изображением, оно будет работать правильно).Я предполагаю, что jquery застревает в процессе загрузки изображения и не распознает событие mouseout.Есть ли какое-либо исправление?
$(document).on('mouseover',".divclass", { ....
loadImage(urllink);
function loadImage(src) {
var image = new Image();
image.onload = function() {
if ('naturalHeight' in this) {
if (this.naturalHeight + this.naturalWidth === 0) {
this.onerror();
return;
}
} else if (this.width + this.height == 0) {
this.onerror();
return;
}
// At this point, there's no error. Picture is available:
$('#picture').attr('src', urllink);
$(".image-content").stop().fadeIn(200);
};
image.onerror = function() {
//display noimg.png
$('#picture').attr('src', ".../noimg.png");
$(".image-content").stop().fadeIn(200);
};
image.src = src;
}
...
});
$(document).on('mouseout',".divclass", function (e) {
$('.image-content').css("display", "none");
});
Точно такая же ошибка возникает при использовании mouseenter / mouseleave.