Я создал новый YAHOO.util.KeyListener для присоединения к определенному элементу, а также создал еще один новый YAHOO.util.KeyListener для прикрепления ко всему документу. Оба они связаны с клавишей «ввод» (ключи: 13).
В функции обработчика для слушателя, прикрепленного к конкретному элементу, у меня есть следующий код:
getDetailsLocalnameInput = function(e) {
getDetails(localnameInput.value);
YAHOO.util.Event.preventDefault(e);
YAHOO.util.Event.stopPropagation(e);
};
Тем не менее, событие от нажатия клавиши продолжает распространяться вплоть до слушателя ключа, прикрепленного ко всему документу. Я не хочу, чтобы обработчик для ключевого слушателя, присоединенного ко всему документу, был удален. Я уверен, что оба обработчика вызываются, но только для запуска обработчика, прикрепленного к конкретному элементу.
Правильно ли использовать YAHOO.util.Event.stopPropagation с YAHOO.util.KeyListener?
Есть ли другой способ предотвратить распространение события нажатия клавиши?
Я также попытался с помощью функции YAHOO.util.Event.stopEvent и установки e.cancelBubble безуспешно.
Я тестировал все это с Firefox 3.5. Я не могу заставить stopPropagation () работать вообще.