簡體   English   中英

用<div>作為按鈕並在單擊時觸發 mailto

[英]Use <div> as a button and trigger a mailto when it is clicked

我正在我的網頁上創建一個自定義按鈕,它實際上是一個<div> ,我想在單擊該按鈕時觸發一個 mailto。 最好的出路是什么?

我試過使用-onClick 調用一個 javascript 函數,看起來像這樣 -

function foo(){
    window.open("mailto:xyz@abc.com");
}

但這首先會在 Chrome 中打開一個新標簽,然后要求相關應用發送電子郵件。 這種體驗與我們通常在 HTML 中簡單地做一個<a href=mailto:.....>時得到的體驗不同。

我也可以在JS函數中新建一個文檔元素,模擬這樣的點擊——

function sendEmail() {
    var mail = 'mailto:contact@test.com';
    var a = document.createElement('a');
    a.href = mail;
    a.click();
};

但我不太確定這是否是正確的方法! 有人有更好的解決方案嗎?

試試這個,然后告訴我是否有效。 如果沒有,我將刪除答案。

<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

<a class="mailto" href="mailto:contact@test.com">Mail</a>

CSS

.mailto{
  display:block;
  width:100px;
  height:20px;
}

這對我有用:

<script>
function sendEmail() 
{
    window.location.assign("mailto:xyz@abc.com");
}
</script>
<div onclick="sendEmail();">Send e-mail</div>

@Tony已經用一樣的方式assign已被添加。

試試這個功能和 html。 它將打開一個新的電子郵件客戶端。

<div onclick="doMail();">


function doMail() {

    var email ="xyz@abc.com";
    location.href = "mailto:"+email;
}

為了混淆來自掃描網站電子郵件的垃圾郵件機器人的電子郵件,您可以執行以下操作,

<div class="button" onclick="location.href='mail'+'to:xyz'+'@'+abc'+'.'+'com';">Send E-Mail</div>

而不是“發送電子郵件”文本,您可以放置​​您實際電子郵件地址的圖像(屏幕截圖)以使其更加明顯。

<div onclick="mailtoperformingFunction('inner');" id="divbutton">

<script type="text/javascript">
function mailtoperformingFunction()
{
}
</script>

嘗試這個 :

<div class="button" href="javascript: void(0)" onclick="location.href='mailto:abc@xyz.com';">Click to Send email</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM