Показать сообщение отдельно
  #1 (permalink)  
Старый 10.05.2023, 17:48
Новичок на форуме
Отправить личное сообщение для Zdravko Посмотреть профиль Найти все сообщения от Zdravko
 
Регистрация: 10.05.2023
Сообщений: 1

Правильный переход с live на on для события mouseover
Здравствуйте.
У меня есть функция для всплывающего div блока:
( function(c) { 
	c.fn.setPopup = function(e) { 
		var d = c(this); 
 
		e = ( e === undefined ) ? 5000 : e; 
		// При наведении мышки останавливаем блок div, чтобы он не спрятался. 
		d.data( 'hover', false).data( 'time', e ).find( 'div' ).live( 'mouseover', function() { 
			d.data ( 'hover', true ); 
			c(this).show(); 
			clearTimeout( c(this).data( 'timeout' ) ); 
			// Если убрали мышку с блока div. 
		} ).live( 'mouseout', function() { 
			d.data( 'hover', false ); 
			var f = setTimeout( function() { 
				d.find( 'div:last' ).remove(); 
			}, 
			d.data( 'time' ) ); 
			c(this).data( 'timeout', f ); 
		} ); 
		d.find( 'div' ).find( 'a:first' ).click( function(f) { 
			c( f.target ).parent( 'div' ).remove(); 
			return false; 
		} ); 
		return d 
	}; 
} 
)(jQuery);

суть в том, что при наведении на блок мышкой, таймер перехода должен остановиться, на старой версии jquery скрипт работает, но в новой версии "live" уже устарел и скрипт не правильно работает(выдает ошибку), смена "live" на "on" не выводит ошибку, но и не работает остановка таймера при наведении на блок.
Как в данном случае можно исправить работу скрипта?
Ответить с цитированием