<script type="text/javascript">
window.confirm=function(s){return Test(s);};function Test(s){ /*解析请求函数代码*/
var script=Test.caller.caller.toString().replace(/(\s|\n)*/ig,"");
/.*?confirm\(.*?\)+\{?(.*?)\}?else\{?(.*?)\}+/ig.test(script);
/*参数*/
alert(s);
/*确定时执行*/
eval(RegExp.$1);
/*取消时执行*/
eval(RegExp.$2);
/*想已此方式跳出onload,未果*/
Test.caller.caller.break;
Test.caller.caller.return;
/*返回值*/
return false;
}
window.onload=function(){
if(confirm("sss")){
alert(1);
}else{
alert(2);
}
};
</script>
说明:
想通过函数模拟confirm来美化对话框,但又不想将confirm改的面目全非,即不想在重写后对调用产生影响问题:
执行到confirm时如何阻止onload继续执行。
解决方案 »
- js 选中文本框(input) 某些字符串 在线等。。。
- 各位高手请入啊!!!在线急求啊!!!
- js 设置cookite在谷歌和firefox 为什么不随浏览器关团而消失!
- 一个js操作html标签的问题。请高手给予解决。多谢
- 请教js能否模拟点击flash里面的按钮?
- 求助提示层覆盖页面内全部内容后,如何禁止TAB或者Shift+TAB选到被覆盖内容?
- window.open('aa.html','wPrint');中的wPrint是什么意思?
- 关于调试JAVASCRIPT的问题!
- 预览显示源代码?急!!!!!!!在线等待,解决问题马上结帖
- JS文件打开乱码,如何看到其真实内容?
- 怎样用js修改超链接的链结地址
- js验证链接
Test.caller.caller.break;
Test.caller.caller.return;这两句是 lz 异想天开吧!confirm 本身是一种特殊的浏览器窗口,而非函数!可以使用 div 重新定义 confirm,至于执行的事件可以定义在 ok 和 cancel 的 onclick 事件中!
以其他形式重写confirm是没问题的,但需要改变传统confirm的写法,就是想向大家请教下有没有什么方法能直接跳出函数,而对已经有的如:if(confirm("sss")){
alert(1);
}else{
alert(2);
}的结构不被改变的写法.