Javascript确认框打开链接

时间:2012-04-19 17:07:12

标签: javascript jquery

我有href如下:

<a class="eLink" href="http:www.abc.com">chk here xyz</a></li>

和“eLink”的javascript如下:

$("a.eLink").click(function link(evt) {
        url = evt.target.href;

        if (url.toString().toLowerCase().indexOf(".gov") <= 0) {

            var tk = "Do you really want to continue?";

            if (confirm(tk)) {
                window.open(url, 'newwin');
            }
        }
        else
        { window.open(url, 'newwin'); }

        return false;
    });
});

现在,当点击超级链接时,我收到消息“你真的想要继续吗?”,现在当我点击“是”时,它会打开一个新的浏览器,目标页面为“abc.com”,我当前的浏览器也是更改为“abc.com”。我想以这样的方式更改代码:当前浏览器保留在同一页面中,目标浏览器“abc.com”在新页面中打开,如果我单击“否”,则浏览器应保留在同一页面中。我尝试在带有确认框的普通javascript中使用它们,但问题是我必须使用此代码的地方,外部浏览器链接必须在javascript中给出,我想避免。上述脚本是否会快速更改以实现我想要的目标?

3 个答案:

答案 0 :(得分:1)

使用'_self'来引用当前窗口/选项卡。有关详细信息,请参阅http://www.w3schools.com/jsref/met_win_open.asp

$("a.eLink").click(function link(evt) {
    url = evt.target.href;

    if (url.toString().toLowerCase().indexOf(".gov") <= 0) {

        var tk = "Do you really want to continue?";

        if (confirm(tk)) {
            window.open(url, 'newwin');
        }
    }
    else
    { window.open(url, '_self'); } // open in same tab/page

    return false;
 });
});


// if you click yes, redirect, if no, then do nothing
if (confirm(tk)) {
   window.open(url, 'newwin');
} else {
   return false; // do nothing
}

答案 1 :(得分:1)

答案 2 :(得分:1)

$("a.eLink").click(function link(evt) {
    url = evt.target.href;

    if (url.toString().toLowerCase().indexOf(".gov") <= 0) {

        var tk = "Do you really want to continue?";

        if (confirm(tk)) {
            window.open(url, 'newwin');
        } else {
            window.open(url, '_self');
        }
    }
    else
    {
        window.open(url, 'newwin');
    }

    return false;
});