先要引用zepto.js 使用zepto自帶的touchstart 和 touchend函數(shù)來(lái)監(jiān)聽(tīng)觸摸事件瀑罗。
本方法采用zepto+js
//長(zhǎng)按刪除
$.fn.longPress = function(fn) {
var timeout = undefined;
var $this = this;
console.log(this);
for(var i = 0;i<$this.length;i++){
$this[i].addEventListener('touchstart', function(event) {
console.log(event);
var target = event.target;
console.log(target);
var hdId = target.getAttribute('hdId');
timeout = setTimeout(function(e){
layer.confirm('您確定要?jiǎng)h除嗎衣赶?', {
btn: ['確認(rèn)','取消'] //按鈕
}, function(){
console.log(hdId);
var info = {
hdId:hdId,
}
$.ajax({
url:"http://test.xxdoctor.cn/wechat/HealthFile/delHisDiacrisisInfo",
type:"POST",
data:JSON.stringify(info),
contentType: "application/json; charset=utf-8",
success:function(data){
layer.msg('已刪除', {icon: 1});
moduleValue();
},
error:function(err){
console.log(err);
}
})
});
}, 800); //長(zhǎng)按時(shí)間超過(guò)800ms沟堡,則執(zhí)行傳入的方法
event.preventDefault();
}, false);
$this[i].addEventListener('touchend', function(event) {
clearTimeout(timeout); //長(zhǎng)按時(shí)間少于800ms痊乾,不會(huì)執(zhí)行傳入的方法
}, false);
}
}
$('.family-illness').longPress(function(e){
});
family-illness為父元素嗦明,它的子元素是動(dòng)態(tài)生成的。因此用target獲取目標(biāo)元素