Показать сообщение отдельно

  #5  
Старый 06.03.2009, 17:40
d_x
Постоянный
Регистрация: 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.targettarget=e.target;
  else if(
e.srcElementtarget=e.srcElement;

  if(!
window.confirm('Перейти по ссылке '+target.href+'?'))
  {
    if(
e.preventDefaulte.preventDefault();
    if(
e.returnValuee.returnValue=false;
    return 
false;
  }
}



function 
AttachEvent(obj,evt,fnc,useCapture)
{
  if(!
useCaptureuseCapture=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.myEventsobj.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..
 
Ответить с цитированием