1. 程式人生 > >基於原生JavaScript進行擴充套件模擬使用者長按事件(webapp)

基於原生JavaScript進行擴充套件模擬使用者長按事件(webapp)

QQ、微信等約炮聊天軟體中,長按好友頭像時會有@該好友的功能。今天我要為公司的IM實現這個功能啦,本專案原先是基於mui,其中mui有個longtap事件表示可以監聽使用者長按事件,但是我試了一下好像效果不太好,還是重新搞個外掛吧,下面是基於fn進行擴充套件,所有jq物件都可以使用。

$.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); } }



呼叫方式:$(".xxx").longPress(function(){ //執行具體業務邏輯  })