当我点击链接 GoogleResults - 每次点击都会附加 url,我只想在第一次点击时附加 url。请帮助如何解决此问题
<a href="mailto:googlehelp_r@gmail.com?Subject=Help%20Google-%20Results&body=" onclick="this.href+=escape(window.location.href)">GoogleResults</a>
当我点击链接 GoogleResults - 每次点击都会附加 url,我只想在第一次点击时附加 url。请帮助如何解决此问题
<a href="mailto:googlehelp_r@gmail.com?Subject=Help%20Google-%20Results&body=" onclick="this.href+=escape(window.location.href)">GoogleResults</a>
尝试这个:
<script type="text/javascript">
window.onload=function(){
var lnkMail=document.getElementById("mail");
lnkMail.setAttribute("href", lnkMail.href + escape(window.location.href) );
}
</script>
<a id="lnkMail" href="mailto:googlehelp_r@gmail.com?Subject=Help%20Google-%20Results&body=">GoogleResults</a>
直接在 click 事件上更改 href 属性是一种不好的做法,在标记中添加内联脚本是另一种做法。理想情况下,您希望用户在点击链接之前知道发生了什么。然后,如果他选择禁用 JS,对他来说,禁用功能比浏览器出错要好。
希望这可以帮助 :)
利用
function getUrl() {
return this.href+=escape(window.location.href);
}
<a href="mailto:googlehelp_r@gmail.com?Subject=Help%20Google-%20Results&body=" onclick="return getUrl(this.href);">GoogleResults</a>
用于演示请