1

所以我有这个html

<a class='test' href='somewhere' target='_blank'>Click me </a>

我期待这个 jQuery 选择器点击它

我尝试了以下两种方法,但新标签未在 Chrome 中打开

$('.test').click()
$('.test').trigger('click')
4

4 回答 4

3

jQuery.click()并且.trigger('click')仅用于启动附加到 click 事件的任何事件处理程序。它实际上不会单击链接并将您带到 href。

于 2013-10-09T13:47:33.777 回答
2

尝试

将您的代码包装在$(document).ready(function(){...}

$(document).ready(function(){
    $('.test').click();
});

更新

阅读使用 JavaScript 在新选项卡(而不是新窗口)中打开 URL

.click()并将.trigger('click')执行附加到点击事件的功能。

于 2013-10-09T13:36:12.507 回答
1

您真正想要做的是通过 jQuery 在单击时打开另一个窗口/选项卡。就像安迪在他们的回答中所说的那样.click().trigger('click')只是触发了处理程序,并不代表页面上的实际点击。利用:

window.open($('.test').attr('href'));

小提琴。点击“点击我”打开stackoverflow链接

但是,某些浏览器会将此请求阻止为弹出窗口,因此最好让用户实际与页面交互。

于 2013-10-09T13:58:59.003 回答
-1

正如安迪在他们的回答中所说,点击注入实际上不会点击链接,而是会启动元素点击事件。因此,这可能是一种解决方法:

$('.test').click( function () {
    window.open($(".test").attr("href"));
});

$('.test').click();

还有小提琴

于 2013-10-09T14:31:21.070 回答