JSFiddle - React, Tailwind, and code Playground
HTML
<a class="stope" target="_blank" href="http://mebmoll.ru/upload/catalog/bg/00000026_MODENA.jpg">Ссылка на фотку стола</a>
<div class="dlg"><p id="dlg-p"> </p><a id="dlg-y" class="a-btn-send">Да</a><a id="dlg-n" class="a-btn-send">Нет</a></div>
CSS
.d-block{
display:block!important;
}
.d-none{
display:none!important;
}
div.dlg{
background:#fff;
box-shadow: 2px 2px 8px rgba(55, 55, 55, 0.25);
position:fixed;
top:50%;
left:50%;
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
z-index:112;
display:none;
}
div.dlg p{
box-sizing:border-box;
padding:20px;
min-width:350px;
min-height:50px;
}
div.dlg a {
display:inline-block;
width:50%;
}
/* common style for a-buttons */
a.a-btn-send{
cursor:pointer;
padding:8px 0;
text-align:center;
font-style:italic;
color:#fff;
background:#B8BFCF;
}
a.a-btn-send-active,
a.a-btn-send:hover{
color:#456;
}
JavaScript
var D=document,
togD=function(el){
if(el.target)
el=el.target;
el.classList.toggle('d-block');
},
Confirm=(function() {
var dlg=D.querySelector('.dlg'),
p=D.getElementById('dlg-p'),
bty=D.getElementById('dlg-y'),
btn=D.getElementById('dlg-n');
bty.addEventListener('click',function(e){togD(dlg);if(yCb) yCb();});
btn.addEventListener('click',function(e){togD(dlg);if(nCb) nCb();});
return function(msg,yesCb,noCb){
yCb=yesCb;
nCb=noCb;
p.textContent=msg;
togD(dlg);
};
})();
/*
рабочий скрипт
*/
var stope=function(e){
e.preventDefault();
var link = this; /* та самая фишка */
Confirm('Открыть '+link.href+' ?',function(){
alert(link.href);
});
},
init=function(){
var links=D.querySelectorAll('.stope');
for(var i=0,link;link=links[i];i++)
link.addEventListener('click',stope);
};
init();