jQuery仿confirm遇到的问题

//提示对话框functionmodal(){varmodal=$("#modal");modal.fadeIn();//显示对话框modal.find('button[... // 提示对话框
function modal() {
var modal = $("#modal");

modal.fadeIn(); // 显示对话框
modal.find('button[value="ok"]').click(function() { // 选择 OK
modal.fadeOut();
return true;
});
// ---------------------------------------------------------------------------
modal.find('button[value="cancel"]').click(function() { // 选择 取消
modal.fadeOut();
return false;
});
}
// 点击网页的删除时调用modal((函数
$('#dialog-add').find('button[value="del"]').click(function() {
if(modal()) { // 问题在这里!!!!!!!
return false;
}
$('form').submit();
});

问题是调用modal()函数的时候,不能得到返回值。

modal()函数定义部分,在横线之前写return false 或return true 可以返回,但是写在两个点击事件里面就得不到返回值。

望高手解答
展开
 我来答
最后的仙人
推荐于2016-01-28 · TA获得超过1961个赞
知道大有可为答主
回答量:1509
采纳率:0%
帮助的人:1398万
展开全部

modal()本身就是显示个对话框而已,任何js都无法模拟出真正的模态对话框的效果,你这个地方还是用异步实现吧


// 提示对话框
function modal(func) {
var modal = $("#modal");

modal.fadeIn(); // 显示对话框
modal.find('button[value="ok"]').click(function() { // 选择 OK
modal.fadeOut();
func();
});
// ---------------------------------------------------------------------------
modal.find('button[value="cancel"]').click(function() { // 选择 取消
modal.fadeOut();
});
}
// 点击网页的删除时调用modal((函数
$('#dialog-add').find('button[value="del"]').click(function() {
modal(function(){$('form').submit();});
});

这样试试

更多追问追答
追问
这个方法逻辑上应该可以。但是表单还是不能提交
追答
没提交是不是$('form')是空?
cnsuyong
2013-12-31 · TA获得超过1075个赞
知道小有建树答主
回答量:767
采纳率:100%
帮助的人:436万
展开全部
是看到 QQ 邮箱删除确认的效果想模仿吧?三个关键点:(1)遮罩层;(2)对话框层;(3)回调函数。其中,回调函数用在对话框层的按钮的 Click 事件中。如果还要做得更完整,则还需要在对话框层做拖动处理。
追问
谢谢您的回答。
>回调函数用在对话框层的按钮的 Click 事件中
能再讲详细点么?可不可以写个例子。关于回调函数不太明白
追答
function myAlert(msg, callback){
ShowMask;
给遮罩层增加一个属性,用于记录用户按的是哪个按钮。
ShowMyDialogBox;
$(按钮OK).click(function(){
记录用户按的是 OK 按钮
...
Callback;
});
$(按钮Cancel).click(function(){
记录用户按的是 Cancel 按钮
...
Callback;
});
}

调用示例:
myAlert('你想干什么?',function(){
获取用户按了哪个按钮,做相应的处理。
});

至于在什么时机销毁对话框和遮罩层,根据你的需要在合适的位置添加代码即可。既可以在 Click 事件中写,也可以在 Callback 中写。看你自己了。
上面的代码也许存在语法问题,没有调试,盲写的。

再继续追问就没意思了啊!提示变成代劳,违背本人授人以渔的助人为乐原则。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式