有如下的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部分使用什么脚本,所以我保持相同的页面。感谢。
答案 0 :(得分:2)
把别人拿走。
if (confirm(tk)) {
window.open(url, 'newwin');
}
Sidenote,IE8和lower不实现indexOf
功能,因此您可能希望通过编写自己的实现来对其进行修补。
答案 1 :(得分:1)
答案 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');
}