我有一个jQuery函数,偶数.preventDefault()应用于点击任何具有'editable'类的元素。
然而,这并没有阻止gmail打开它发送电子邮件的接口。它适用于未设置默认邮件行为的系统(我主要测试的那个)。不确定它何时通过Outlook或实际的邮件应用程序运行。
是否有一些解决方法?
$('.editable').not('video, img, textarea').click(function(event) {
event.preventDefault();
loadEditor($(this));
});
编辑:我也尝试过event.stopPropagation();但它仍在经历。
答案 0 :(得分:1)
尝试添加return false,
$('.editable').not('video, img, textarea').click(function(event) {
event.preventDefault();
loadEditor($(this));
return false;
});
答案 1 :(得分:1)
gmail接口事件处理可能发生在浏览器中,因此请尝试调用event.stopPropagation。
答案 2 :(得分:0)
event.preventDefault()
适用于具有与之关联的默认行为的元素。
E.g。锚元素重定向到href中设置的url,表单提交事件提交表单。对于这种情况,event.preventDefault()将停止其行为。
您面临的问题是事件冒泡,您应该使用event.stopPropagation()以及(event.preventDefault()或返回false)。
$('.editable').not('video, img, textarea').click(function(event) {
event.stopPropagation();
loadEditor($(this));
return false;
});
答案 3 :(得分:0)
我不确定是否真的有办法阻止这种情况,其他答案中提到的与事件无关的jQuery命令都没有效果。
与此同时,我在启用编辑时删除了链接的“mailto”部分,并且它可以正常完成工作。
答案 4 :(得分:0)
对于那些仍然无法解决为什么在也链接到mailto的提交链接按钮上没有任何影响的人,我认为问题是适用于Chrome的Mailto:for Gmail扩展程序。该链接在Firefox中运行良好。一旦在Chrome中禁用上述扩展程序,链接就可以正常工作。