带锚元素的jQuery mailto

时间:2014-09-29 16:17:40

标签: javascript jquery html anchor mailto

我用网上看到的无数例子尝试了这个。但我想没有一个很简单,适用于所有浏览器(IE 8及以上版本)。

我试图用mailto链接打开Outlook窗口。

<a href="#" name="emailLink" id="emailLink">Email</a>

JQuery的:

$(function () {
  $('#emailLink').on('click', function (event) {
    alert("Huh");
    var email = 'test@theearth.com';
    var subject = 'Circle Around';
    var emailBody = 'Some blah';
    window.location = 'mailto:' + email + '?subject=' + subject + '&body=' +   emailBody;
  });
});

当然,我是一个jQuery新手。以上情况并没有奏效。它只是闪烁浏览器但没有打开。我想这是因为window.location

有简单的解决方案吗?我希望这可以在IE8&amp;以上和所有浏览器。

自动生成正文(在JSP中)。

5 个答案:

答案 0 :(得分:12)

这是工作解决方案:

<a href="#" name="emailLink" id="emailLink">Email</a>

和功能:

$(function () {
  $('#emailLink').on('click', function (event) {
      event.preventDefault();
    alert("Huh");
    var email = 'test@theearth.com';
    var subject = 'Circle Around';
    var emailBody = 'Some blah';
    window.location = 'mailto:' + email + '?subject=' + subject + '&body=' +   emailBody;
  });
});

答案 1 :(得分:1)

$(function () {
  $('[name=emailLink]').click(function () {
    var email = 'test@theearth.com';
    var subject = 'Circle Around';
    var emailBody = 'Some blah';
    $(this).attr('href', 'mailto:' + email +
           '?subject=' + subject + '&body=' +   emailBody);
  });
});

.click可以替换为.mousedown等等......或者只是

$(function () {
  $('[name=emailLink]').each(function() {
    var email = 'test@theearth.com';
    var subject = 'Circle Around';
    var emailBody = 'Some blah';
    $(this).attr('href', 'mailto:' + email +
           '?subject=' + subject + '&body=' +   emailBody);
  });
});

答案 2 :(得分:1)

如果您在网站的任何地方都不需要地址作为文字我会建议:

$('a[data-mail]').on('click', function() {
   window.location = 'mailto:' + $(this).data('mail')+'@yourdomain.net' + '?subject=Spotflow';
});

链接看起来像这样:

<a href="#" data-mail="max">Send me a mail</a>

机器人没有机会!

答案 3 :(得分:0)

您的选择器正在寻找ID

$('#emailLink')

但您只指定了名称。

id="emaillink"添加到锚标记。

答案 4 :(得分:-1)

您根本不需要任何javascript / jQuery,只需以下HTML即可:

<a href="mailto:test@theearth.com?subject=Circle Around&body=Some blah" name="emailLink">Email</a>