Đây là triển khai JavaScript thuần túy về các giải pháp được cung cấp đã mở rộng hỗ trợ cho màn hình cảm ứng. Bạn cung cấp id
, action
để thực hiện (function(){}
) và interval
(ms) để lặp lại action
. Lưu ý rằng việc triển khai này cũng sẽ thực thi ngay lập tức action
, thay vì đợi interval
mất hiệu lực.
// Configures an element to execute a function periodically whilst it holds the user's attention via a mouse press and hold.
function assertPeriodicPress(id, action, interval) {
// Listen for the MouseDown event.
document.getElementById(id).addEventListener('mousedown', function(ev) { action(); timeout = setInterval(action, interval); return false; }, false);
// Listen for mouse up events.
document.getElementById(id).addEventListener('mouseup', function(ev) { clearInterval(timeout); return false; }, false);
// Listen out for touch end events.
document.getElementById(id).addEventListener('touchend', function(ev) { clearInterval(timeout); return false; }, false);
}
Nguồn
2016-11-16 22:45:31
Hãy xem câu hỏi của tôi, dựa trên câu hỏi này. Có một cải tiến cho vấn đề này: http://stackoverflow.com/questions/36316638/jquery-mousdown-with-setinterval-endless – Steckdoserich