我有点击链接的要求,它应该打开要发送给我点击其名称的用户的邮件。我是通过构建Anchor标签并通过设置href属性来实现的,我面临的问题是,我们的平台有一个功能,显示警告询问你想要导航或不。当我点击我的链接时,不应该发出此警报,但不幸的是,当我点击链接时,它就会出现。有替代方案吗? [注意:我无法更改平台代码]
var htmlElement = $('<a class="b">('+_email+')</a>').attr('href','mailto:'+_email);
我也试过了jquery点击,但没有用
$('.b').click(function() {
window.location = $(this).attr('href');
}).click();
答案 0 :(得分:0)
您需要更改执行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);
});
<强>小提琴强>
答案 1 :(得分:0)
您只需要对代码进行一次简单的更改......
$(document).on("click", "a.b", function(e) {
e.preventDefault();
window.open(this.href);
});
停止单击链接导致的默认操作,然后使用window.open
在新窗口中打开mailto链接,而不是更改位置。这将停止onbeforeunload
事件触发。