jQuery仿confirm遇到的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery仿confirm遇到的问题相关的知识,希望对你有一定的参考价值。

// 提示对话框
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 可以返回,但是写在两个点击事件里面就得不到返回值。

望高手解答

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')是空?

追问

是这样的

追答

那就这个获取form要改个方式了,先检查下你的html

参考技术A 是看到 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 中写。看你自己了。
上面的代码也许存在语法问题,没有调试,盲写的。

再继续追问就没意思了啊!提示变成代劳,违背本人授人以渔的助人为乐原则。

JQUERY 自定义confirm,怎么知道用户点击的是确认按钮,还是取消按钮

参考技术A $("btn-yes").bind("click",function()alert($(this).text()););$("btn-no").bind("click",function()alert($(this).text()););

以上是关于jQuery仿confirm遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章

confirm弹出对话框,点确定执行一段代码,取消执行另一段,怎么实现?

有谁用stm32做个 仿三菱PIC这块,我现在在编程口协议这块遇到点困难,对于plc在监控时的这块

Java开发中遇到最难的问题!mysql模糊查询索引失效

家庭记账本app实现登录注册界面以及仿微信操作界面(共4个实现一个)遇到了麻烦

如何在 C# 代码中使用 jQuery dialog() 而不是 confirm()?

easyui 表单提交前的 confirm 处理