всплывающее предупреждение javascript при нажатии на ссылку - PullRequest
18 голосов
/ 11 января 2012

Мне нужно предупреждение «OK» / «Отмена» на JavaScript, когда я нажимаю на ссылку.

У меня есть код предупреждения:

<script type="text/javascript">
<!--
var answer = confirm ("Please click on OK to continue.")
if (!answer)
window.location="http://www.continue.com"
// -->
</script>

Но как мне сделать так, чтобы это работало только при нажатии на определенную ссылку?

Ответы [ 4 ]

26 голосов
/ 11 января 2012

Вы можете использовать атрибут onclick, просто return false, если не хотите продолжать;

<script type="text/javascript">
function confirm_alert(node) {
    return confirm("Please click on OK to continue.");
}
</script>
<a href="http://www.google.com" onclick="return confirm_alert(this);">Click Me</a>
13 голосов
/ 11 января 2012

просто сделай это функцией,

<script type="text/javascript">
function AlertIt() {
var answer = confirm ("Please click on OK to continue.")
if (answer)
window.location="http://www.continue.com";
}
</script>

<a href="javascript:AlertIt();">click me</a>
12 голосов
/ 03 сентября 2014

Одна строка работает просто отлично:

<a href="http://example.com/"
 onclick="return confirm('Please click on OK to continue.');">click me</a>

Добавление другой строки с другой ссылкой на той же странице также работает нормально:

<a href="http://stackoverflow.com/"
 onclick="return confirm('Click on another OK to continue.');">another link</a>
3 голосов
/ 11 января 2012

Для этого вам нужно прикрепить обработчик к определенной привязке на странице.Для таких операций гораздо проще использовать стандартный фреймворк, такой как jQuery .Например, если бы у меня был следующий HTML

HTML:

<a id="theLink">Click Me</a>

, я мог бы использовать следующий jQuery для подключения события к этой конкретной ссылке.

// Use ready to ensure document is loaded before running javascript
$(document).ready(function() {

  // The '#theLink' portion is a selector which matches a DOM element
  // with the id 'theLink' and .click registers a call back for the 
  // element being clicked on 
  $('#theLink').click(function (event) {

    // This stops the link from actually being followed which is the 
    // default action 
    event.preventDefault();

    var answer confirm("Please click OK to continue");
    if (!answer) {
      window.location="http://www.continue.com"
    }
  });

});
...