jQuery不会模拟clickto链接的点击

use*_*888 1 jquery

在我的jQuery Mobile应用程序中,我试图以编程方式单击mailto链接但没有成功.

这是HTML代码:

<section id="mensen" data-role="page">

<div data-role="content" class="content">
<a id="emailLink" href="mailto:123@123.com">This is the email link</a>

</div>
</section>
Run Code Online (Sandbox Code Playgroud)

jQuery代码是:

$(document).ready(function()
{   
$('#emailLink').click();
})
Run Code Online (Sandbox Code Playgroud)

链接功能正常,如果直接单击,则启动默认电子邮件客户端,但没有任何以编程方式发生.

neu*_*rah 10

确实如此,但这会奏效

$(document).ready(function()
{   
   $('#emailLink')[0].click();
})?
Run Code Online (Sandbox Code Playgroud)

编辑:("为什么?"评论)

因为用jquery $(...)完成的查询返回元素的数组/对象.我们必须使用索引[0](期望只有一个因为它的id)才能调用链接对象的.click函数而不是jquery结果数组. 顺便说一下,我不希望数组具有该功能

jquery结果数组应该有一个.get(...)函数来从结果中检索元素

  • 确实是因为doc说:"当没有参数调用.click()时,它是.trigger("click")的快捷方式"...有兴趣试验$('#emailLink').触发器("click") ? (2认同)