Href和确认按钮

时间:2012-04-19 17:47:50

标签: 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,'_self'); 
            }
        }
        else
        { window.open(url, 'newwin'); }

        return false;
    });
});

现在我的问题是当我点击href并点击确认按钮中的“取消”时,我的页面转到“abc.com”,但它不应该发生。我的浏览器应该保持不变。我应该在else部分使用什么脚本,所以我保持相同的页面。感谢。

3 个答案:

答案 0 :(得分:2)

把别人拿走。

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

Sidenote,IE8和lower不实现indexOf功能,因此您可能希望通过编写自己的实现来对其进行修补。

答案 1 :(得分:1)

return false;(jQuery样式)

已经阻止了默认操作

问题是,如果您执行了单击取消window.open(url,'_self');,只需删除确认条件的其他部分

检查此fiddle

答案 2 :(得分:0)

你有:

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

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

这意味着如果他们点击取消,将返回False,这仍将打开链接。您需要在window.open声明中删除else

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