Как я могу предотвратить действие default () по умолчанию JavaScript

Я пытаюсь сделать простое: if (Подтверждение ()) {действия}, но некоторые действия выполняются, даже если вы еще не нажали подтвердить / отменить.

Вот мой код:

$("#checkbox").click(function() {

    if (confirm("Continu ?")) {
        hideShowDiv("test");
        $(this).attr("checked", true);
    }
}

В этом случае, если вы установите флажок, даже если вы не нажали подтвердить / отменить, флажок будет установлен, но div 'test' не будет отображаться (если вы не нажмете подтвердить). Я не знаю, почему линия:

 $(this).attr("checked", true);

выполняется до возврата подтверждения ().

1 ответ

Решение

Попробуйте добавить e.preventDefault();

$("#checkbox").click(function(e) {
    e.preventDefault();
    if (confirm("Continu ?")) {
        hideShowDiv("test");
        $(this).attr("checked", true);
    }
}
Другие вопросы по тегам