重新定义JS里的confirm
<script language=javascript><!--
/*@cc_on @*/
/*@if (@_win32 && @_jscript_version>=5)
function window.confirm(str)
{
    execScript("n = msgbox('"+ str +"', 257, '自定的的 confirm')", "vbscript");
    return(n == 1);
}
@end @*/
alert(confirm("重载的confirm弹出框, 焦点在取消上"));
// --></script>

解决方案 »

  1.   

    meizz(梅花雪) 
    你真的好棒哦..
      

  2.   

    meizz(梅花雪) :
    你好,我的问题是
    http://community.csdn.net/Expert/topic/3391/3391572.xml?temp=.169018
    你已帮我作了解答,首先谢谢你.
    但是我发现,带有换行的字符串会出错,
    例如:
    confirm('1.第一行;\r\n2.第二行;\r\n')
    这样的运行就会出错,有什么方法可以避免吗/
      

  3.   

    开始时确实没有考虑周全, 不好意思:
    <script language=javascript><!--
    /*@cc_on @*/
    /*@if (@_win32 && @_jscript_version>=5)
    function window.confirm(str)
    {
        str = str.replace(/\r\n/g, "'& VBCrLf &'");
        execScript("n = msgbox('"+ str +"', 257, '自定的的 confirm')", "vbscript");
        return(n == 1);
    }
    @end @*/
    alert(confirm('1.第一行;\r\n2.第二行;\r\n'));
    // --></script>
      

  4.   

    再改正一点, 若字符里存在单引号时可能会出错的BUG:
    <script language=javascript><!--
    /*@cc_on @*/
    /*@if (@_win32 && @_jscript_version>=5)
    function window.confirm(str)
    {
        str= str.replace(/\'/g, "'& chr(39) &'").replace(/\r\n/g, "'& VBCrLf &'");
        execScript("n = msgbox('"+ str +"', 257, '自定的的 confirm')", "vbscript");
        return(n == 1);
    }
    @end @*/
    alert(confirm('1.\'第一行\';\r\n2.第二行;\r\n'));
    // --></script>