Я попытаюсь объяснить свою проблему. Я использую прослушиватель событий mouseup
, поэтому я могу проверять всякий раз, когда выполняется щелчок, а цель не является желаемым элементом. Это код, который я использую:
function clickOutListener(element, callbackFunction){
$(document).mouseup(function(e){
if(!$(element).is(e.target) && $(element).has(e.target).length === 0) callbackFunction.call(this, null);
});
}
Как видите, прослушиватель событий привязан к глобальному элементу документа, и способ отвязать его будет таким:
$(document).off("mouseup");
Вот то, чего мне нужно достичь. Если я отвяжу прослушиватель mouseup
, это повлияет на другие элементы, использующие этот прослушиватель (выпадающие списки и другие функции). Я должен предположить, что каждый раз, когда я регистрирую слушателя, он не переопределяет предыдущий определенный слушатель, а добавляет определенную целевую функцию.
Как я могу получить доступ к различным определенным целевым функциям для одних и тех же слушателей?
$(document).mouseup(funct1);
$(document).mouseup(funct2);
$(document).mouseup(funct3);
Как бы вы отменили регистрацию зарегистрированного слушателя только для «funct2»?
Заранее спасибо.