Saya ingin dapat mengaktifkan peristiwa ketika pengguna mengklik tombol, lalu menahan klik tersebut selama 1000 hingga 1500 ms.
Apakah ada fungsionalitas inti jQuery atau plugin yang sudah mengaktifkan ini?
Haruskah saya menggulung sendiri? Di mana saya harus memulai?
javascript
jquery
events
SnickersAreMyFave
sumber
sumber
Jawaban:
Edit : koreksi per AndyE ... terima kasih!
Edit 2 : menggunakan mengikat sekarang untuk dua acara dengan penangan yang sama per gnarf
sumber
mouseleave
penangan juga..bind('mouseup mouseleave', function() {
Aircoded (tetapi diuji pada biola ini )
sumber
Saya membuat plugin JQuery sederhana untuk ini jika ada yang tertarik.
http://plugins.jquery.com/pressAndHold/
sumber
Agaknya Anda bisa memulai
setTimeout
panggilan masukmousedown
, dan kemudian membatalkannyamouseup
(jikamouseup
terjadi sebelum batas waktu Anda selesai).Namun, sepertinya ada plugin: longclick .
sumber
Inilah implementasi saya saat ini:
sumber
sumber
Saya menulis beberapa kode untuk membuatnya mudah
Lihat di JSFiddle
Sekarang Anda hanya perlu mengatur waktu menahan dan menambahkan
clickHold
acara pada elemen Andasumber
Coba ini:
sumber