有時在作移動端頁面開發過程當中遇到這種需求:''模擬指紋識別''。
實際上咱們只能經過長按頁面中的元素來模擬這個功能。
在jQuery和Zepto中都沒有包含長按事件,因此須要咱們來擴展一下。this
$.fn.longPress = function(fn) { var timeout = undefined; var $this = this; for(var i = 0;i<$this.length;i++){ $this[i].addEventListener('touchstart', function(event) { timeout = setTimeout(fn, 800); //長按時間超過800ms,則執行傳入的方法 }, false); $this[i].addEventListener('touchend', function(event) { clearTimeout(timeout); //長按時間少於800ms,不會執行傳入的方法 }, false); } }
首先要添加這段代碼,而後調用:code
$('.object').longPress(function(){ //do something... });