Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Событие после удерживания клавиши (https://javascript.ru/forum/misc/58014-sobytie-posle-uderzhivaniya-klavishi.html)

Валерий1996 30.08.2015 21:13

Событие после удерживания клавиши
 
Как сделать чтоб когда пользователь нажал на виртуальную клавишу (бутон) и удерживал её 3 секунды , запустить потом функцию, к примеру алерт ?

caetus 31.08.2015 04:15

<button id="but">click</button>


<script>
	var but = document.getElementById('but')

	but.addEventListener('mousedown', function () {
		var data = new Date();
			but.addEventListener('mouseup', function fn () {
				if(new Date() - data > 3000) alert(2)

				but.removeEventListener('mouseup', fn, false)

			},false)
	},false)
</script>

BETEPAH 31.08.2015 09:37

<button id="but">click</button>
<script>var but = document.getElementById('but');
but.addEventListener('mousedown', function () {
	but.setAttribute("data-_clk_",
        String( setTimeout(
            function() {
                but.removeAttribute("data-_clk_");
				alert('ta-dam');
            }, 3000) 
		)
    );
}, false);

but.addEventListener('mouseup', function () {
	if ( but.getAttribute("data-_clk_") ) {
		clearTimeout( Number( but.getAttribute("data-_clk_") ) );
		but.removeAttribute("data-_clk_");
	}
}, false);
</script>

Валерий1996 31.08.2015 10:45

Спасибо работает:)


Часовой пояс GMT +3, время: 21:01.