“离开网站”提醒

时间:2014-04-01 14:43:07

标签: javascript alert

我的网站上有以下href:

a href="http://www.google.com" name="external" onclick="confirmExit(this.name)

如果他/她不想通过点击“取消”(下面的代码不全)离开,我就无法弄清楚如何让用户留在我的网站上。

function confirmExit(name){
    if(name == "external"){
        if(confirm("Go to external site?")){

        }
    }
}

jQuery / Ajax不是一个选项。

4 个答案:

答案 0 :(得分:3)

只是返回false。

function confirmExit(name){
    if(name == "external"){
        if(!confirm("Go to external site?")){
            return false;
        }
    }
}

如果您希望在所有链接上发生这种情况,或者甚至在用户关闭标签页时,请查看@megawac's answer

答案 1 :(得分:2)

使用window.onbeforeunload在用户离开页面之前显示确认对话框

$(window).bind("beforeunload", function() {
   if(true) { //display confirm dialog?
       return "Are you sure you want to leave?";
   }
});

答案 2 :(得分:1)

您不需要功能。我建议你用这个:

$(function () {
     $('a[name="external"]').click(function () {
         if (!confirm("Go to external site?")) {
            event.preventDefault();
         }
     });
});

如果您使用此功能,则无需为所有内容添加onclick =“confirmExit(this.name)”。只需添加以上内容即可完成您的工作。

如果你想要JSFiddle的行为,你可以这样做:

window.onbeforeunload = function(){ return "Are you sure you want to leave the page?"; }

答案 3 :(得分:0)

使用return false功能中的confirmExit(),并使用内联javascript中的return

<强> HTML

<a href="http://www.google.com" name="external" onclick="return confirmExit(this.name)">Some Link</a>
                                  //Use return here also ---^

<强> JS

function confirmExit(name){
    if(name == "external"){
        if(!confirm("Go to external site?")){
            return false;
        }
    }
}

DEMO