H5移動端原生長按事件


// 函數名longpress
// 參數為: 需長按元素的id、長按之后處理函數func
function longPress(id, func,timeout=500) { var timeOutEvent; document.querySelector('#' + id).addEventListener('touchstart', function (e) { // 開啟定時器前先清除定時器,防止重復觸發 clearTimeout(timeOutEvent); // 開啟延時定時器 timeOutEvent = setTimeout(function () { // 調用長按之后的邏輯函數func func(); }, timeout); }); document.querySelector('#' + id).addEventListener('touchmove', function (e) { // 長按過程中,手指是不能移動的,若移動則清除定時器,中斷長按邏輯 clearTimeout(timeOutEvent); /* e.preventDefault() --> 若阻止默認事件,則在長按元素上滑動時,頁面是不滾動的,按需求設置吧 */ }); document.querySelector('#' + id).addEventListener('touchend', function (e) { // 若手指離開屏幕時,時間小於我們設置的長按時間,則為點擊事件,清除定時器,結束長按邏輯 clearTimeout(timeOutEvent); }); }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM