我在这里有一个点击处理程序的链接。 href充满了我需要的信息。但我不希望点击打开此链接。所以我做了event.preventDefault,它工作正常。但我需要定位=“_ top”ich有人点击链接。这有可能吗?
答案 0 :(得分:0)
如果您阻止链接的默认操作,我认为您正在做其他事情。如果其他内容涉及更改窗口位置,并且您想要更改顶部窗口的位置,则可以使用window.top
引用它,然后通过location
属性设置其位置,例如:
window.top.location = /* ... */;
例如(live example):
HTML:
<a id="theLink" href="http://jsbin.com">This link</a>
says jsbin.com and doesn't have <code>target="_top"</code>,
but will actually go to stackoverflow.com and do it
in the top window. (Seems a bit evil.)
JavaScript的:
jQuery(function($) {
$("#theLink").click(function(event) {
window.top.location = "http://stackoverflow.com";
return false;
});
});
...但是这提出了为什么不让链接完成其工作的问题。 : - )
或者,如果您尝试将target="_top"
添加到单击时没有该链接的链接,您可以执行以下操作:
var link = /* ...get the link element, e.g., $("#theLink") or whatever */;
$("#theLink").click(function() {
link.attr("target", "_top");
});
请注意,我不阻止默认操作。
我不想保证这必然会有效 - 最好在点击链接之前设置属性。
答案 1 :(得分:0)
将event.preventDefault();
函数更改为return false;
并使用scrollTop进行html动画:$('html, body').animate({scrollTop:0});
现在链接不跟随href,但它滚动到顶部