vue-weui-expand
Version:
WeUI 的轻量级 js 封装
70 lines (65 loc) • 3.12 kB
JavaScript
function confirm({title="",text,okTxt="确认",noTxt="取消",type=0}={},no,yes){
let style='weui-skin_android';
if(type==0){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/iphone/i) == 'iphone'){
style='';
}
}else if(type!=1){
style='';
}
let innerhtml=`<div class="weui-mask"></div><div class="weui-dialog ${style} "><div class="weui-dialog__hd"><strong class="weui-dialog__title">${title}</strong></div><div class="weui-dialog__bd">${text}</div><div class="weui-dialog__ft"><a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_default">${noTxt}</a><a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_primary">${okTxt}</a></div> </div>`;
let newNode = window.document.createElement("div");
newNode.id=Number(Math.random().toString().substr(3,length) + Date.now()).toString(36);
newNode.className="js_dialog";
newNode.innerHTML = innerhtml;
window.document.getElementsByTagName('body')[0].appendChild(newNode);
window.document.getElementById(newNode.id).getElementsByTagName('a')[0].addEventListener('click', (e)=> {
window.document.getElementsByTagName('body')[0].removeChild( document.getElementById(newNode.id));
if(no!=undefined){
no();
}
e.preventDefault();
e.stopPropagation();
}, false);
window.document.getElementById(newNode.id).getElementsByTagName('a')[1].addEventListener('click', (e)=> {
window.document.getElementsByTagName('body')[0].removeChild( document.getElementById(newNode.id));
if(yes!=undefined){
yes();
}
e.preventDefault();
e.stopPropagation();
}, false);
}
function alert({text,okTxt="确认",type=0}={},yes){
let style='weui-skin_android';
if(type==0){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/iphone/i) == 'iphone'){
style='';
}
}else if(type!=1){
style='';
}
let innerhtml=`<div class="weui-mask"></div><div class="weui-dialog ${style}"><div class="weui-dialog__bd">${text}</div><div class="weui-dialog__ft"><a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_primary">${okTxt}</a></div></div>`;
let newNode = window.document.createElement("div");
newNode.id=Number(Math.random().toString().substr(3,length) + Date.now()).toString(36);
newNode.className="js_dialog";
newNode.innerHTML = innerhtml;
window.document.getElementsByTagName('body')[0].appendChild(newNode);
window.document.getElementById(newNode.id).getElementsByTagName('a')[0].addEventListener('click', (e)=> {
window.document.getElementsByTagName('body')[0].removeChild( document.getElementById(newNode.id));
if(yes!=undefined){
yes();
}
e.preventDefault();
e.stopPropagation();
}, false);
}
function install(Vue){
Vue.prototype.dialog={
confirm,
alert
};
}
export {install,confirm, alert}