Javascript mailto:URL在jQuery绑定事件处理程序中不起作用

Javascript mailto:URL在jQuery绑定事件处理程序中不起作用,javascript,jquery,mailto,Javascript,Jquery,Mailto,我有一个图标,点击后会弹出一个mailto:URL。看起来很简单,但不起作用。调试时,我单击图标,事件处理程序启动并执行其中的代码,但随后什么也不做。为什么这样不行 <i id="email-icon" class="fa fa-envelope"></i> 我感觉jQuery中的活动不知怎么被取消了?试试这个: <a href="mailto:mail@example.org"><i id="email-icon" class="fa fa-enve

我有一个图标,点击后会弹出一个mailto:URL。看起来很简单,但不起作用。调试时,我单击图标,事件处理程序启动并执行其中的代码,但随后什么也不做。为什么这样不行

<i id="email-icon" class="fa fa-envelope"></i>
我感觉jQuery中的活动不知怎么被取消了?

试试这个:

<a href="mailto:mail@example.org"><i id="email-icon" class="fa fa-envelope"></i></a>

所以,回答我自己的问题

实际上我的代码没有问题。问题在于我的新机器是如何配置的

在控制面板中查看我的默认程序时,我看到Chrome被设置为处理MAILTO协议的默认程序:

我使Outlook成为该协议的处理程序,然后它按预期工作。我不知道这是怎么发生的,但我想我会把它贴出来,以防将来有人会遇到这个问题


感谢您的调查。

尝试创建直接链接:

$("#email-icon").on("click", function () {
    var link = "mailto:mail@example.org";
    var obj = $("<a href=\"" + link + "\" target=\"_new\"><span></span></a>");
    obj.appendTo("body");
    obj.children("span:eq(0)").trigger("click");
    obj.remove();
});

对我来说似乎很好。控制台中是否有任何错误,或其他一些干扰事件的代码?例如,附加到父元素的东西。另外,您的计算机上是否安装了邮件客户端?jQuery无法决定当您分配到location.href时会发生什么。浏览器确实有发言权,我可以理解为什么它不喜欢这样。@RoryMcCrossan:除了Chrome,我还没有尝试过别的东西。你碰巧用的是什么浏览器?@JanDvorak:你知道为什么它不喜欢它了吧?你觉得有什么问题吗?请解释。从这种行为,我猜问题是由于客户端机器试图打开邮件链接的程序。在这种情况下,您无能为力,因为developerI尝试了这一点,并在chrome上打开了一个新选项卡,在导航栏上显示:mailto:email@domain.com并且不执行任何操作您好抱歉,您尝试删除/不删除属性target=\\u new\