如何使用jQuery触发对链接的单击?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (7)

我有一个链接:

<ul id="titleee" class="gallery">
  <li>
    <a href="#inline" rel="prettyPhoto">Talent</a>
  </li>
</ul>

我试图通过以下方式触发它:

$(document).ready(function() {
  $('#titleee').find('a').trigger('click');
});

但不管用。

我也试过:$('#titleee a').trigger('click');

提问于
用户回答回答于

如果您试图在锚点上触发事件,那么你拥有的代码将可以工作我在jsfiddle中用添加的eventHandler 重新创建了你的示例,以便你可以看到它的工作原理:

$(document).on("click", "a", function(){
    $(this).text("It works!");
});

$(document).ready(function(){
    $("a").trigger("click");
});

你是否试图让用户通过单击锚点导航到网页上的某个点,或者你是否尝试触发绑定到该点的事件?也许你没有真正将click事件绑定到事件上?

另外这个:

$('#titleee').find('a').trigger('click');

相当于这个:

$('#titleee a').trigger('click');
用户回答回答于

对不起,但事件处理程序真的不需要。你需要的是标签内的另一个元素来点击。

<a id="test1" href="javascript:alert('test1')">TEST1</a>
<a id="test2" href="javascript:alert('test2')"><span>TEST2</span></a>

jQuery的:

$('#test1').trigger('click'); // Nothing
$('#test2').find('span').trigger('click'); // Works
$('#test2 span').trigger('click'); // Also Works

这与你点击的内容有关,它不是标签,而是标签中的内容。

document.getElementById('test1').click(); // Works!

或者通过访问jQuery对象作为数组

$('#test1')[0].click(); // Works too!!!

扫码关注云+社区