【发布时间】:2014-02-19 10:53:55
【问题描述】:
如果禁用 JavaScript,我的锚标记会在新的空白窗口中打开
<a target="_blank" onclick="newWindow(this)" href="http://www.google.co.uk">Google</a>
这是我的外部 javascript,它打开新窗口,然后取消原来的 href 和 target 触发。
function newWindow(element) {
var newWin = window.open(element.href, windowName, "top=0, left=0, height=800,width=700,resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no");
return [element.href='Javascript: void()', element.target='_self'];
}
这对于 1 次点击可以正常工作,我的问题是如果用户再次点击链接,那么 href 看起来像
<a href="Javascript: void();">
所以链接不起作用!
我做错了什么?
如何编码,以便在弹出窗口打开后取消原始的 href 和 target? 而且链接可以点击多次?
谢谢
【问题讨论】:
-
只需将其设为
<a target="_blank" onclick="newWindow(this); return false;" href="http://www.google.co.uk">Google</a>,而无需在函数中使用return [element.href='Javascript: void()', element.target='_self'];。 -
感谢@nord_ua - 将 return false 移动到锚点会阻止 href 和 target 触发,奇怪的是它在外部文件中不起作用。
-
“在外部文件中不起作用”是什么意思?
-
如果我在外部 javascript 中返回 false 并且在 newWindow() 函数结束时 target="_blank" 仍然会触发...请参阅下面的 kraftner 响应
标签: javascript