Удаление следующей функции jQuery click - PullRequest
1 голос
/ 14 июня 2011

Я пытаюсь добавить проверку формы в пользовательский тип записи в Wordpress с помощью Jquery.Все работает нормально, за исключением того, что к кнопке отправки прикреплено встроенное событие click, которое добавляет класс, чтобы кнопка выглядела отключенной, а также отображала gif загрузки.

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

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

Спасибо

Обновление:

Частьскрипт (в autosave.js), который добавляет класс, находится здесь

b('input[type="submit"], a.submitdelete', "#submitpost").click(function () {
        blockSave = true;
        window.onbeforeunload = null;
        b(":button, :submit", "#submitpost").each(function () {
            var c = b(this);
            if (c.hasClass("button-primary")) {
                c.addClass("button-primary-disabled")
            } else {
                c.addClass("button-disabled")
            }
        });
        if (b(this).attr("id") == "publish") {
            b("#ajax-loading").css("visibility", "visible")
        } else {
            b("#draft-ajax-loading").css("visibility", "visible")
        }
    });

Это слишком глубоко для меня, я не настолько хорош в javascript.Я не ожидаю, что кто-нибудь выпустит файлы WordPress, но кто-нибудь может сразу сказать мне, что происходит с первого взгляда?Я думаю о том, чтобы просто удалить функцию addClass как дешевый и липкий обходной путь (который мне придется обновлять каждую версию), но я, конечно, предпочел бы этого не делать.

1 Ответ

0 голосов
/ 14 июня 2011

Вам нужно удалить обработчик щелчков по объектам, а не только по классу.

$('.button').removeClass('submit').unbind("click");

Смотрите это сообщение Как использовать .removeClass () для отключения функции jquery

...