analyticCode
功能描述
利用qrcode.js制作的二维码解析器,可以用该插件制作长按识别二维码功能
依赖的模块
无依赖模块
安装
无需安装
快速使用
1,扩展了移动端‘长按触发事件’
//扩展移动端长按事件
$.fn.longPress = function (fn) {
let timer = null;
let $this = this;
for (let i = 0; i < $this.length; i++) {
$this[i].addEventListener('touchstart', function (event) {
timer = setTimeout(fn, 600);
}, false);
$this[i].addEventListener('touchend', function (event) {
clearTimeout(timer);
}, false);
}
}
2,添加了触发事件的动作‘弹出框’
$('#showImg').longPress(function(){
let str = '
'+
'识别二维码'+
'
弹出地址
'+
'当前窗口打开地址
'+
'
新窗口打开地址
'+
'';
$('#analytic').append(str);
});
3,添加了弹出框不同参数的点击事件
function alertChange(param) {
if (param === 1) {
getUrl(document.getElementById('showImg'), 'img-url');
} else if (param === 2) {
analyticCode.getUrl('img-url', document.getElementById('showImg'), function(url) {
alert(url);
});
} else if (param === 3) {
analyticCode.getUrl('img-url', document.getElementById('showImg'), function(url) {
window.location.href = url;
});
} else if (param === 4) {
analyticCode.getUrl('img-url', document.getElementById('showImg'), function(url) {
window.open(url);
});
} else {
return;
}
$('#addDiv').remove();
}
analyticCode.getUrl(param,e,function(url1,url2){
e.nextElementSibling.innerHTML = url1;
e.previousElementSibling.src = url2;
});
特别说明
param:是解析形式,分别有‘img-url’(长按解析二维码),‘file-url’(上传图片解析二维码)
e:是当前元素,长按时为当前图片,上传时为input
callback:是解析后将解析的内容在函数中返回,如果是上传解析,同时会返回上传图片的地址,在callback中操作当前页面