
06.03.2009, 17:40
|
|
Постоянный
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
AkyHa_MaTaTa, href при отказе перехода навсегда очищается.
Вот рабочий вариант:
PHP код:
<a href="http://mail.ru" onclick="return confirmgo();">mail.ru</a>
<script language='JavaScript'>
function confirmgo()
{
if(!window.confirm('Перейти по ссылке?'))
return false;
}
</script>
UPD:
универсальный код под все браузеры, если ссылок много и лень самому события добавлять:
PHP код:
<body>
<a href="http://mail.ru">mail.ru</a><br>
<a href="http://google.com">google.com</a><br>
<a href="http://yandex.ru">yandex.ru</a><br>
<a href="http://vkontakte.ru">vkontakte.ru</a><br>
<a href="http://antichat.ru">antichat.ru</a><br>
...ссыли...
<script language='JavaScript'>
var a=document.getElementsByTagName('a');
for(var i=0,cnt=a.length;i<cnt;i++)
{
AttachEvent(a[i],'click',confirmgo,true);
}
function confirmgo(e)
{
var target;
if(e.target) target=e.target;
else if(e.srcElement) target=e.srcElement;
if(!window.confirm('Перейти по ссылке '+target.href+'?'))
{
if(e.preventDefault) e.preventDefault();
if(e.returnValue) e.returnValue=false;
return false;
}
}
function AttachEvent(obj,evt,fnc,useCapture)
{
if(!useCapture) useCapture=false;
if(obj.addEventListener)
{
obj.addEventListener(evt,fnc,useCapture);
return true;
}
else if(obj.attachEvent)
return obj.attachEvent("on"+evt,fnc);
else
{
MyAttachEvent(obj,evt,fnc);
obj['on'+evt]=function(){ MyFireEvent(obj,evt) };
}
}
function MyAttachEvent(obj,evt,fnc)
{
if(!obj.myEvents) obj.myEvents={};
if(!obj.myEvents[evt]) obj.myEvents[evt]=[];
var evts=obj.myEvents[evt];
evts[evts.length]=fnc;
}
function MyFireEvent(obj,evt)
{
if (!obj || !obj.myEvents || !obj.myEvents[evt]) return;
var evts=obj.myEvents[evt];
for (var i=0,len=evts.length;i<len;i++) evts[i]();
}
</script>
</body>
Последний раз редактировалось d_x; 06.03.2009 в 18:14..
|
|
|