Поскольку имя, которое вы дали функции обработчика, находится внутри этой функции, другой обработчик не сможет получить к ней доступ.
Итак, что вы должны сделать, это определить функцию с именем в области видимости, которая является локальной для всего кода, который должен получить к ней доступ.
Вы должны привести упрощенный пример, который полностью отражает проблему при публикации вопроса. Я дам упрощенный кодовый ответ и надеюсь, что быстрое рассмотрение я сделал, если ваш код представлен здесь.
outerElement.addEventListener("some_event", function() {
var innerElementA = document.getElementById("elementA");
var innerElementB = document.getElementById("elementB");
innerElementA.addEventListener("some_event", handlerA);
innerElementB.addEventListener("some_event", handlerB);
function handlerA(event) {
// some code
}
function handlerB(event) {
// some code
// remove the other listener
innerElementA.removeEventListener("some_event", handlerA);
}
})
Хорошо, попробуйте два. Что добавляет Ваши элементы динамично? Вы не можете только поместить.Rules ("добавьте") к тому же коду?
Вы захотите изучить jQuery 1.3's новые Прямые трансляции