Вопрос по javascript, html – Как запретить браузеру открывать ссылку, указанную в href?

11

Я в настоящее время делаю файловый браузер. Если пользователь нажимает на ссылку на файл, открывается небольшое окно и запрашивает параметры (такие как загрузка и просмотр). Я сделал это с помощью атрибута onclick. Если я нажимаю на ссылку, выполняется javascript, но после этого открывается URL-адрес, указанный в href. То, что я пытаюсь сделать, это: если вы нажмете на ссылку, javascript будет выполнен и в конечном итоге переадресует вас. Но если ссылка щелкается правой кнопкой мыши, нажмите кнопку «Копировать местоположение ссылки». все еще должен быть доступен. Я думаю решить эту проблему, заблокировав пересылку скриптов. Таким образом, если ссылка щелкается правой кнопкой мыши, никакой javascript не выполняется, и вы можете скопировать местоположение ссылки. Но если вы щелкнете левой кнопкой мыши по ссылке, JavaScript будет выполнен, и ссылка не будет открыта. Это возможно с javascript, или есть какой-то другой способ достижения этого поведения?

Ваш Ответ

3   ответа
7

function stopDefAction(evt) {  
  evt.preventDefault();  
} 
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
1

void (0)», например:

<a href="http://..." id="somebutton">...</a>
<script>
document.getElementById('somebutton').href="javascript:void(0)"
</script>
Error: User Rate Limit Exceeded
15

один из способов - разрешить & quot; onclick & quot; возврат методаfalse.

Например:

<a href="http://..." onclick="return clickfunc()">...</a>

Еслиclickfunc() возвращаетсяfalseщелчок по ссылке не приведет к & quot; http: //..."

Хотя вы, вероятно, обращаетесь с этим больше как

<a href="http://..." id="somebutton">...</a>
<script>
document.getElementById('somebutton').onclick = function() { 
      ... 
      else { return false; }
};
</script>
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededstackoverflow.com/questions/128923/…Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededw3.org/TR/DOM-Level-3-Events/…
Error: User Rate Limit ExceededpreventDefaultError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded<a onclick="return false;" href="http://www.example.com">Test</a>Error: User Rate Limit Exceeded

Похожие вопросы