Щелчок JavaScript не работает во второй раз

#javascript #jquery #confirm

#javascript #jquery #подтвердите

Вопрос:

У меня есть скрипт jQuery для удаления сообщения. В первый раз, когда я нажимаю на ссылку, все работает нормально. Я нажимаю ссылку на удаление, и появляется confirm диалоговое окно. После подтверждения он перенаправляется на другую страницу, а затем обратно. Однако во второй раз, когда я нажимаю на ссылку, ничего не происходит.

 $(document).ready(function(){
    $("a.del").click(function(){
        var conf = confirm("Confirmation message"); 
        if(conf == true)
            return true;
        else
            return false;
    });
});
  

Функция щелчка должна работать при каждом событии щелчка.

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

1. if(x == true) return true; else return false; — это WTF; просто напишите return x;

2. У меня все нормально работает: jsfiddle.net/BBneU — возможно, какая-то другая часть вашего кода вызывает ошибку JavaScript, которая препятствует дальнейшему запуску кода?

3. Что это значит для «del sth»? И о чем вы говорите в отношении первого щелчка, второго щелчка, направления, перенаправления? Почему бы вам не настроить весь сценарий и не объяснить всю последовательность событий, которые ведут себя вопреки вашим ожиданиям.

4. Ответ, каким бы он ни был, содержится не в этом коде, а во всем другом коде, который у вас есть. Возможно, элемент a.del удаляется и создается заново без повторного запуска document.ready?

5. @ThiefMaster, он полагается на принуждение к типу, но должен просто использовать return !!conf;

Ответ №1:

Я сделал это, не записывая в $(document) .готово (функция (){});

Нравится:

 $("a.del").click(function(){
    var conf = confirm("Confirmation message"); 
    if(conf == true)
        return true;
    else
        return false;
});
  

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

1. Просто чтобы вы знали, это все равно, что иметь больную ногу и отрезать себе ногу, утверждая, что ваша нога больше не будет так болеть.

2. Или как стрельба в messenger.

3. Эй, я просто задаю вопрос, решаю его и делюсь с другими людьми. Я пытаюсь это сделать уже 2 дня. @davin Я не смог поделиться решением.

4. Я знаю, что это действительно поздно, но причина, по которой это плохая идея, заключается в том, что если вы не дождетесь загрузки страницы перед доступом к элементу DOM, вы создаете условие гонки.