繁体   English   中英

没有Href的Javascript Mailto

[英]Javascript Mailto without Href

我要求单击链接的位置应打开要发送给我单击其名称的用户的邮件。 我正在通过构造Anchor标记并设置href属性来做到这一点,我面临的问题是,我们的平台具有一项功能,可显示警告询问您是否要导航。 当我单击链接时,此警报不应出现,但不幸的是,当我单击链接时,它会出现。 还有其他选择吗? [注意:我无法更改平台代码]

var htmlElement = $('<a class="b">('+_email+')</a>').attr('href','mailto:'+_email);

我也尝试过jquery click,但是没有用

$('.b').click(function() {
        window.location = $(this).attr('href');
    }).click();

您需要更改执行onbeforeunload检查的代码。 通常,它是通过可以设置的标志来完成的。

您可以覆盖onbeforeunload,然后在单击链接后重新应用它。

例:

的HTML

<a class="mail" href="mailto:foo@example.com">Mail</a>
<br/>
<a href="example.com">Link</a>

的JavaScript

window.onbeforeunload = function(e) {
  return 'Dialog text here.';
};

$(".mail").on("click", function () {
   var _onbeforeunload = window.onbeforeunload;
    window.onbeforeunload = $.noop;
    window.setTimeout( function () {
        window.onbeforeunload = _onbeforeunload;
    },20);
});

小提琴

http://jsfiddle.net/vE9E6/

您只需要对代码做一个简单的更改即可。

$(document).on("click", "a.b", function(e) {
    e.preventDefault();
    window.open(this.href);
});

这将停止由单击链接引起的默认操作,然后使用window.open在新窗口中打开mailto链接,而不是更改位置。 这将停止onbeforeunload事件触发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM