Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как добавить класс при удержание нажатия на элемент (https://javascript.ru/forum/dom-window/78164-kak-dobavit-klass-pri-uderzhanie-nazhatiya-na-ehlement.html)

ethereal 05.08.2019 03:14

Как добавить класс при удержание нажатия на элемент
 
Нужно по такому принципу добавить новый класс:
$('.area').on('click', function(e) {  
     $(".class").addClass( "new-class" );
});


Только не при клике, а когда нажимаем и удерживаем курсор на элемент... Когда отпускаем, класс удаляется.

Кто знает как сделать, помогите!

Было бы хорошо если был бы еще и delay... Не добавлять сразу класс, а к примеру через 2с, и также когда отпускаем нажатие.

Спасибо!

j0hnik 05.08.2019 05:15

<style>
  .new-class{
    background-color: red;
  }
</style>
<button class="area">but</button>
<div class="class">tar</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>

$('.area').on('mousedown', function(e) { 
     setTimeout(()=>$(".class").addClass( "new-class" ), 2000);
}).on('mouseup', function(e) { 
  setTimeout(()=>$(".class").removeClass( "new-class" ), 2000);
});

</script>


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