在body里面绑定事件beforeunload = function(){/* statement */}
在页面上有个下载链接
<a href="http://xx.aspx?id=9acfffec-2254-df11-952364a">Download</a>
每次点击下载链接的时候beforeunload事件也会被触发,有什么办法能只在点击关闭按钮的时候触发而在点击下载的时候不触发该事件!

解决方案 »

  1.   

    那好办,点击下载的时候不调用beforeunload 就可以了,把它封装成一个自定义的函数不要windows来调用了就可以了
      

  2.   

    能说的详细点吗。
    <script type="text/javascript">
    function LeavePage(){
        if(document.attachEvent){
     return "";
    }
    else{
      return "Are you sure you want to navigate away from this page?";
    }
    }       
    </script>
    </head><body onbeforeunload="return LeavePage();">
    <a href="ddownload.aspx?uid=fdsds">Download</a>
      

  3.   

    <script type="text/javascript">
    function LeavePage(str){
    if(str=="0")
    {
    return "Are you sure you want to navigate away from this page?";}
    if(str=="1")
    {
    window.open("test.html");
    }
    }
    </script>
    </head> 
    <body onbeforeunload="return LeavePage(0)">
    <a href="#" onClick="LeavePage(1)">关闭窗口</a>
      

  4.   

    我也没什么好的办法 一种是不刷新。
    还一种是这样的定义一个全局变量tag
    在你的方法体内
    var tag = true;
    function checkout() {
    if(tag) {
       confirm("are you sure")
    }
    }在<input type="submit" onclick="tag = false" />