我用网上看到的无数例子尝试了这个。但我想没有一个很简单,适用于所有浏览器(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中)。
答案 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>