Используйте в качестве кнопки и запускайте mailto при нажатии
Я создаю пользовательскую кнопку на своей веб-странице, которая на самом деле является <div>, Я хочу вызвать mailto при нажатии кнопки. Каков наилучший выход?
Я попытался вызвать функцию javascript с помощью-onClick, которая выглядит так -
function foo(){
    window.open("mailto:xyz@abc.com");
}
но сначала открывается новая вкладка в Chrome, а затем запрашивается соответствующее приложение для отправки электронной почты. Этот опыт отличается от того, что мы обычно получаем, когда мы просто сделать <a href=mailto:.....> in ФОРМАТ HTML.
Я также могу создать новый элемент документа в функции JS и имитировать такой щелчок -
function sendEmail() {
    var mail = 'mailto:contact@test.com';
    var a = document.createElement('a');
    a.href = mail;
    a.click();
};
но я не слишком уверен, если это правильный путь! У кого-нибудь есть лучшее решение?
5 ответов
используйте якорный тег, но измените свойство display на block:
HTML-код
<a class="mailto" href="mailto:contact@test.com">Mail</a>
в CSS
.mailto{
  display:block;
  width:100px;
  height:20px;
}
попробуйте это и скажите мне, если работает. Если нет, я удалю ответ.
<script>
function sendEmail() 
{
    window.location = "mailto:xyz@abc.com";
}
</script>
<div onclick="sendEmail();">Send e-mail</div>
очень поздно на вечеринку я знаю, но как насчет объединения этих ответов в нечто более простое и практичное:
<div class="button" onclick="location.href='mailto:xyz@abc.com';">Send E-Mail</div>
попробуйте эту функцию и html. Он откроет новый почтовый клиент.
<div onclick="doMail();">
function doMail() {
    var email ="xyz@abc.com";
    location.href = "mailto:"+email;
}
<div onclick="mailtoperformingFunction('inner');" id="divbutton">
<script type="text/javascript">
function mailtoperformingFunction()
{
}
</script>
