是否不可能使用诸如 <href 之类的 HTML。在 JavaScript 表中?



我最近问了一个关于如何创建一个mailto共享按钮的问题,该按钮打开了一个窗口,可以在其中输入要发送到的电子邮件地址(如何创建一个mailto共享按钮,该按钮打开一个窗口,可以在其中输入要发送到的电子邮件地址)用户给了我一个很好的回应, Ron Royston,他建议,"你可以创建一个页面来获取电子邮件字符串,然后在服务器端做任何你想做的事情。使弹出窗口/弹出窗口变小,例如:

<a href="/my-email-collector-page"
onclick="window.open(this.href,'targetWindow',
'toolbar=no,
location=no,
status=no,
menubar=no,
scrollbars=yes,
resizable=yes,
width=200px,
height=120px');
return false;">email</a>"

这是一个很好的方法,但是,当我将此代码插入我的JavaScript工作表(在我的CodePen上:https://codepen.io/IDCoder/full/rpdBQJ/)中时,其中包含我的其他社交媒体共享按钮代码,此代码禁用了这些按钮的代码?我试图弄清楚为什么会这样...是因为在 JavaScript 环境中使用<a href="........"></a>吗?如果是这样,有没有办法将 Ron's 的代码集成到包含如下点击函数的代码中:

$('.any classname').click(function() {

window.open();

});

从本质上讲,首先,window.open(this.href,'targetWindow',....如何将以下代码插入到上面的代码中?

window.open(this.href,'targetWindow',
'toolbar=no,
location=no,
status=no,
menubar=no,
scrollbars=yes,
resizable=yes,
width=200px,
height=120px');
return false;

您可以在指向您创建的 HTML 文档<button>元素处设置data-*属性

<button data-href="/path/to/html/document" id ="EM" type="button" class="Email share-page-on-Email">Email</button>

var emailWindowSettings = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=200px,height=120px';
$("#EM").on("click", function() {
var emailWindow = window.open(this.dataset.href,'targetWindow', emailWindowSettings);
return false;
})

最新更新