3

我有一个 jQuery 函数,其中 even.preventDefault() 应用于单击任何具有“可编辑”类的元素。

但是,它并没有阻止 gmail 打开它的 sweb 界面来发送电子邮件。它适用于未设置默认邮件行为的系统(我主要测试的系统)..不确定它何时通过 Outlook 或实际邮件应用程序运行。

有一些解决方法吗?

$('.editable').not('video, img, textarea').click(function(event) { 
        event.preventDefault();
        loadEditor($(this));
    });

编辑:我也尝试过 event.stopPropagation(); 但它仍在进行中。

4

5 回答 5

1

尝试添加return false,

$('.editable').not('video, img, textarea').click(function(event) { 
        event.preventDefault();
        loadEditor($(this));
        return false;
    });

event.preventDefault() 与返回 false

于 2011-08-28T03:31:11.050 回答
1

gmail 界面事件处理可能发生在浏览器中,因此也尝试调用event.stopPropagation

于 2011-08-28T03:32:03.070 回答
0

我不确定是否真的有办法防止这种情况发生,其他答案中提到的与事件相关的 jQuery 命令均无效。

与此同时,我在启用编辑时删除了链接的“mailto”部分,它可以很好地完成工作。

于 2011-09-14T15:23:13.917 回答
0

event.preventDefault() works for elements which have default behavior associated to them.

E.g. anchor elements redirect to url set in the href, form submit event submits the form. For such cases event.preventDefault() will stop its behavior.

The issue which you are facing is event bubling, you should use event.stopPropagation() along with (event.preventDefault() or return false).

 $('.editable').not('video, img, textarea').click(function(event) { 
        event.stopPropagation();
        loadEditor($(this));
        return false;
    });
于 2011-08-28T03:43:35.783 回答
0

对于那些仍然无法弄清楚为什么链接到mailto的提交链接按钮没有任何影响的人,我认为问题在于Mailto:用于Chrome的Gmail扩展。该链接在 Firefox 中运行良好。一旦上述扩展在 Chrome 中被禁用,该链接就可以正常工作。

于 2014-02-11T16:57:21.427 回答