jQuery跟踪带有target =“_ blank”的超链接

时间:2009-10-15 18:05:47

标签: jquery

我正在尝试使用target =“blank”打开超链接。

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
jQuery(window).load(function() {
    $('a').click();
});
</script>
</head>

<body>
<a href="http://www.google.com" target="_blank">Report</a>
</body>
</html>

4 个答案:

答案 0 :(得分:3)

似乎触发事件仅触发已使用jQuery链接的事件。看看这个修改过的例子:

$(document).ready(function() {
    $('a').click(function(){
        alert('adf');
    });
    $('a').click();
});

答案 1 :(得分:2)

click()创建一个on-click事件并将其附加到对象。它实际上并不是导致点击,只是创建了一个在用户点击后执行的功能,如果/他们选择这样做的话。

您正在寻找的是trigger(),它可让您模拟点击而无需用户实际启动它。此外,在大多数情况下,您应该ready事件而不是load事件。

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
jQuery(window).ready(function() {
    $('a').trigger('click');
});
</script>
</head>

<body>
<a href="http://www.google.com" target="_blank">Report</a>
</body>
</html>

另一件需要注意的事情是 - 你正在尝试做的事情可能被弹出窗口拦截器阻止,因为它们旨在阻止网站在加载页面时打开新窗口。

答案 2 :(得分:2)

根据jQuery docs点击

  

“导致所有具有的功能   已被绑定到该点击事件   执行“。

这不包括打开链接。

我不确定如何做到这一点。事实上,我很确定它无法完成。

答案 3 :(得分:0)

我使用了一个普通的target =“_ blank”超链接到page2,并让page2进行了数据库处理。