Событие hover только после 2 секунд 
		
		
		
		Как сделать ,чтобы свершалось событие hover, только в случае, если мышка держится на элементе 2 секунды, если меньше, то ничего.? 
	 | 
	
		
 
$( element ).hover(function () {
	window.initHandler = setTimeout( handler, 2000 );
	var $this = this;
	function handler() {
		alert( $this ); // Используем выбранный jQuery-объект внутри другой функции
	}
}, function () {
	clearTimeout( window.initHandler );
});
 | 
	
		
 exec, спасибо, все получилось! ) 
	 | 
	
		
 exec, 
	а если элементов несколько? window.initHandler-то один. | 
	
		
 Тогда надо писать что-то вроде 
	
window.initHandlers = [];
$( collection ).each(function ( i ) {
	$( this ).hover(function () {
		window.initHandlers[i] = setTimeout( handler, 2000 );
		var $this = this;
		function handler() {
			alert( $this ); // Используем выбранный jQuery-объект внутри другой функции
		}
	}, function () {
		clearTimeout( window.initHandlers[i] );
	});
});
Хотя и первый вариант сработает, если элементы не вложены друг в друга.  | 
	
		
 Кстати, если нужна какая-то тривиальная вещь, наподобие меню, вполне можно использовать  
	.delay()
$("#menu li").hover(
	function(){
		$("ul", this).delay(2000).slideDown();
	},
	function(){
		$("ul", this).stop(true, true).slideUp();
	}
)
 | 
	
		
 delay, вроде вызовет действие в любом случае, просто через промежуток времени. я не прав? Просто нет сейчас возможности проверить, извиняюсь.. 
	 | 
	
		
 Да, но  
	.stop() очищает очередь анимации, поэтому действия при уведении курсора не происходит.Это не универсальный подход, но для, например, выпадающих меню подходит хорошо.  | 
| Часовой пояс GMT +3, время: 18:11. |