我的网站上有以下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不是一个选项。
答案 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;
}
}
}