在我的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>
jQuery代码是:
$(document).ready(function()
{
$('#emailLink').click();
})
链接功能正常,如果直接点击,则会启动默认电子邮件客户端,但不会以编程方式发生任何事情。
答案 0 :(得分:10)
$(document).ready(function()
{
$('#emailLink')[0].click();
})
编辑:(“为什么?”评论)
因为使用jquery $(...)完成的查询返回元素的数组/对象。
我们必须使用索引[0](期望只有一个因为它的id)才能调用链接对象的.click函数而不是jquery结果数组。
btw我不希望数组具有该功能
jquery结果数组应该有一个.get(...)函数来从结果中检索元素
答案 1 :(得分:2)
绑定点击事件并使用窗口位置触发事件:
<a id='test' href="mailto:test@test.nl">Test</a>
和jquery:
$('#test').bind('click', function() {
window.location.href = $(this).attr('href');
});
$('#test').click();
答案 2 :(得分:0)
在此页面上尝试所有答案和评论后,我终于能够打开包含主题和目标属性的mailto链接。我只在Chrome(版本37.0.2062.124 m)和IE-11中测试了这个:
$("#form-email").on("submit",
function (e) {
e.preventDefault();
var mailto = "aname.gmail"
$("#email-form").attr("href", "mailto:" + mailto.replace(".", "@") + ".com?subject=Email from someone...");
document.getElementById('email-form').click();
}
);
<强> HTML 强>
<a href="" id="email-form" target="_blank" >