Как удалить всех Обработчиков события Click в JQuery

Нет, то, что вы ищете, невозможно. Не существует абстракции «задача», которая явно скрывает что-либо, и вы не можете прерывать произвольные функции. Они должны явно отказаться от отмены (например, проверив breakpoint, который им передан, как в ответе Джонаса). Вы можете сделать это, используя дочерний процесс, который вы можете убить, но это может оставить несовместимое состояние.

115
задан Clay 14 December 2015 в 07:38
поделиться

3 ответа

Вы бы использовали off () , чтобы удалить событие следующим образом:

$("#saveBtn").off("click");

, но это удалит все события щелчка , связанные с этим элементом. Если функция с SaveQuestion является единственным привязанным событием, то вышеописанное сделает это. Если нет, сделайте следующее:

$("#saveBtn").off("click").click(function() { saveQuestion(id); });
195
ответ дан 24 November 2019 в 02:25
поделиться

Есть ли способ удалить все предыдущие события нажатия, которые были назначены кнопке?

$('#saveBtn').unbind('click').click(function(){saveQuestion(id)});
13
ответ дан 24 November 2019 в 02:25
поделиться

Если вы использовали ...

$(function(){
    function myFunc() {
        // ... do something ...
    };
    $('#saveBtn').click(myFunc);
});

... тогда вам будет легче отменить привязку позже.

2
ответ дан 24 November 2019 в 02:25
поделиться
Другие вопросы по тегам:

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