Простая проблема JavaScript: onClick подтверждают не предотвращение действия по умолчанию

Для тех, кто использует драйвер Node.js вместо Mongoose, вы захотите использовать {returnOriginal:false} вместо {new:true}.

40
задан kafuchau 3 December 2008 в 07:32
поделиться

6 ответов

Существует опечатка в Вашем коде (тег закрывается слишком рано). Можно или использовать:

<a href="whatever" onclick="return confirm('are you sure?')"><img ...></a>

отмечают эти , возврат (подтверждает) : значение, возвращенное сценариями во внутреннем, выравнивает, решает, выполняется ли действие браузера по умолчанию или нет; в случае, если необходимо выполнить большую часть кода, можно, конечно, вызвать другую функцию:

<script type="text/javascript">
function confirm_delete() {
  return confirm('are you sure?');
}
</script>
...
<a href="whatever" onclick="return confirm_delete()"><img ...></a>

(отмечают, что удаляют, ключевое слово)

Для полноты: современные браузеры также поддерживают события DOM, позволяя Вам зарегистрировать больше чем один обработчик для того же события на каждом объекте, получить доступ к деталям события, остановить распространение и намного больше; см. События .

DOM
120
ответ дан Ravi Ram 23 September 2019 в 15:57
поделиться

Ну, я раньше имел ту же проблему, и проблема была решена путем добавления слова" , возврат " прежде подтверждает:

onclick="return confirm('Delete entry?')"

мне жаль, что это не могло быть полезно для Вас..

Удачи!

24
ответ дан Andrew 23 September 2019 в 15:57
поделиться

Я использую это, работы как очарование. Никакая потребность иметь любые функции, просто встройте со своей ссылкой (ссылками)

onclick="javascript:return confirm('Are you sure you want to delete this comment?')"
10
ответ дан Stepan Mazurov 23 September 2019 в 15:57
поделиться

Используя простую ссылку для действия, такого как удаление записи выглядит опасным для меня: что, если поисковый робот пытается индексировать Ваши страницы? Это проигнорирует любой JavaScript и перейдет по каждой ссылке, вероятно, не хорошая вещь.

необходимо использовать форму с методом = "POST".

И затем у Вас будет событие "OnSubmit", чтобы сделать точно, что Вы хотите...

7
ответ дан siukurnin 23 September 2019 в 15:57
поделиться

В первую очередь, удаляют , зарезервированное слово в JavaScript, я удивлен, что это даже выполняется для Вас (Когда я тестирую его в Firefox, я получаю синтаксическую ошибку)

, Во-вторых, Ваш HTML выглядит странным - там причина, Вы закрываете вводные теги привязки с /> вместо всего >?

4
ответ дан Peter Bailey 23 September 2019 в 15:57
поделиться

У меня была проблема с IE7 и возвращающим false прежде.

Проверка мой ответ здесь на другую проблему: JavaScript, не работающий на IE

-1
ответ дан Community 23 September 2019 в 15:57
поделиться
Другие вопросы по тегам:

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