我希望用户通过jQuery UI对话框确认,当点击mailto链接时,他或她接受或拒绝某些条款。当我使用以下代码时,会短暂显示该对话框,但随着页面重定向到默认电子邮件程序,该对话框会自动关闭。
jQuery的:
$(function() {
.html('Do you accept these terms?')
.dialog({
autoOpen: false,
title: 'Disclaimer',
resizable: false,
width: 500,
modal: true,
buttons:
{
"Accept": function() {
$( this ).dialog( "close" );},
"Reject": function() {
$( this ).dialog( "close" ); }
}
});
$('.email-address').click(function() {
$dialog.dialog('open');
});
});
HTML:
<a class="email-address" href="mailto:'info@example.com">info@example.com</a>
关于在对话框之前要求回复的最佳方法的任何建议都可以关闭吗?
答案 0 :(得分:1)
我会从html中删除href =“mailto”,将其设置为#并从你的函数内部运行mailto。
HTML:
<a class="email-address" href="#">info@example.com</a>
JS:
$(function() {
.html('Do you accept these terms?')
.dialog({
autoOpen: false,
title: 'Disclaimer',
resizable: false,
width: 500,
modal: true,
buttons:{
"Accept": function() {
$( this ).dialog( "close" );
window.location.href = "mailto:info@example.com";
},
"Reject": function() {
$( this ).dialog( "close" ); }
}
});
$('.email-address').click(function() {
$dialog.dialog('open');
});
});
答案 1 :(得分:1)
由于您点击的链接的默认操作,您需要阻止链接的默认操作,并且接受您需要将用户重定向到页面