всплывающее окно html onclick дважды открывает одну и ту же ссылку

#html

#HTML

Вопрос:

Эта гиперссылка функционирует по назначению, но мне это нужно во всплывающем окне:

 <a href="videochat.php?invite={sn_im_chatbox.USERNAME_TO}" class="sn-tooltip" title="Video Chat"><span class="ui-icon sn-im-cbVideochat"></span></a>    
  

Я попробовал следующее, но оно изменяет страницу (как указано выше) И открывает всплывающее окно (как и предполагалось). Есть идеи, как предотвратить выполнение одной и той же функции дважды?

 <a href="videochat.php?invite={sn_im_chatbox.USERNAME_TO}" onclick="popup(this.href, 750, 500); return false;" class="sn-tooltip" title="Video Chat"><span class="ui-icon sn-im-cbVideochat"></span></a>
  

Ответ №1:

вместо return false; в вашем onclick обработчике используйте event.preventDefault() :

 <a href="videochat.php?invite={sn_im_chatbox.USERNAME_TO}" 
  onclick="popup(this.href, 750, 500); event.preventDefault();" 
  class="sn-tooltip" title="Video Chat">
    <span class="ui-icon sn-im-cbVideochat"></span>
</a>
  

Это должно помешать браузеру регулярно открывать ссылку, когда доступен JavaScript.

Комментарии:

1. Идеальный. Большое вам спасибо.

Ответ №2:

Вы можете просто поместить URL-адрес в onclick и установить для атрибута href # значение или javascript:void(0) :

 <a href="#" onclick="popup('videochat.php?invite={sn_im_chatbox.USERNAME_TO}', 750, 500); return false;" class="sn-tooltip" title="Video Chat"><span class="ui-icon sn-im-cbVideochat"></span></a>
  

или

 <a href="javascript:void(0)" onclick="popup('videochat.php?invite={sn_im_chatbox.USERNAME_TO}', 750, 500); return false;" class="sn-tooltip" title="Video Chat"><span class="ui-icon sn-im-cbVideochat"></span></a>
  

Комментарии:

1. Согласен, но я ценю помощь j08691

2. Трусливый, анонимный участник, потрудитесь объяснить, что не так в этом ответе?