javascript - 如何封装一个跟confirm一样的方法
ringa_lee
ringa_lee 2017-04-11 12:23:19
0
3
706

如何封装一个跟confirm一样的方法
下面是用三张图片(背景图,确定按钮背景,取消按钮背景)组成,
如何像confirm一样判断返回布尔值,不知道怎么把确认以及取消事件写进方法里,从而能用

$("#btn").click(function(){
    if(!zdyConfirm('确认提交?'))
    {return false;}
    else
    {return true;}
})

function zdyConfirm(msg)
{
    
    $("body").append("<p id='zp' style='background:url(images/success.png);width:189px;height:148px;position:absolute;top: 20%;left:50%;margin-left:-100px;'><h4 id='zH4' style='position:absolute;margin-top: 58px;margin-left: 73px;font-size: 16px;font-family: &quot;楷体&quot;;color: #695e5e;'></h4><a id='zAok' onclick='zdyOk()' style='cursor:pointer;position:absolute;margin-top:100px; margin-left:40px;' ><img src='images/sure.png'/></a><a id='zAcancel' style='cursor:pointer;position:absolute;margin-top:100px; margin-left:110px;' onclick='zdyCancel()'><img src='images/cancel.png'/></a></p>");
    $("#zH4").text(msg);
}

 function zdyOk()
{
    $("#zp").remove();
    window.parent.location.href=window.parent.location.href;   
    window.parent.close();
    return true;
}
 function zdyCancel()
{
    $("#zp").remove();

    return false;
}
ringa_lee
ringa_lee

ringa_lee

Antworte allen(3)
小葫芦

不可能封装成confirm和原来一样的,自己封装的只能用回调才能模拟和原始confirm一样的效果。
因为alert和confirm会阻塞所有线程,其中就包括GUI渲染线程,而我们写的js是没办法做到的。所以可以用回调达到效果一样。

function iconfirm(msg,callback){
    //加载confirm
    if(点击取消){
         callback(false);
    }else{
         callback(true);
    }
}

调用 
iconfirm('是否删除?',function(s){
    if(s){
    // 执行删除
    }
})

伊谢尔伦

创建函数zdyConfirm()的添加你要行部分就可以了呀

PHPzhong

可不可以把你要点击“确定”后的想要执行的函数,作为参数传递给zdyConfirm,在点击确定后执行此回调函数

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage