首页 新闻 会员 周边

js 实现confirm 不能用回调,要跟原生的那种调用方式一样

-1
悬赏园豆:10 [已关闭问题] 关闭于 2013-08-13 15:28

必须用这种方式调用if(confirm("")){}

不能用回调,要怎么做。求大师指导。

提供思路也可以,如何能让confirm捕获用户的操作结果,然后再继续执行。

彭满意的主页 彭满意 | 初学一级 | 园豆:103
提问于:2013-07-25 18:35
< >
分享
所有回答(5)
0

<a href="javascript:void(0);" id="del">删除</a>

$("#del").on("click",function(){

  if(confirm("你确定删除?")){

    // 如果确定,你这里的代码就开始执行。

  }

})

花落红尘 | 园豆:208 (菜鸟二级) | 2013-07-25 18:38
0

暂时都是使用的回调,期待能中断操作的代码~

幻天芒 | 园豆:37175 (高人七级) | 2013-07-25 18:50
0

what do you want to do? I can not understand.

空明流光 | 园豆:106 (初学一级) | 2013-07-25 19:27
0

没有完美的方法,目前大多数框架实现的都是基于html元素,比如用jQuery UI的具体做法:

  1. html元素自身设置一个变量,用于保存点击结果
  2. html元素点击时,返回false,再弹出jQuery UI Dialog
  3. 把jQuery UI Dialog点击结果保存到元素
  4. 如果点击结果为true,重新触发元素点击事件并返回true

 大体上是这样模拟confirm操作,还需要针对不同的情况做额外的处理,比如有些html元素是href="javascript:...",还有些元素是onclick="__doPostback..."。

具体可以看我的博客:http://www.cnblogs.com/lwme/archive/2012/04/11/jquery-ui-dialog.html 里面confirm部分方法的实现 

_A_A | 园豆:1139 (小虾三级) | 2013-07-26 09:38
0

confirm('') ? trueFun : falseFun;

Mr 88 | 园豆:238 (菜鸟二级) | 2013-07-27 12:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册