Come posso disabilitare YAHOO.util.KeyListener quando un elemento di input è attivo?
-
03-07-2019 - |
Domanda
Ho un'impostazione MenuBar con Widget MenuBar di YUI e ho un
Una soluzione sarebbe disabilitare il keylistener quando lo stato attivo è su un elemento di input e abilitarlo su sfocatura. Come farei per fare questo? C'è una soluzione migliore?
Soluzione
Ti lodo per aver provato a fornire scorciatoie da tastiera, ma tieni presente che implementare multipiattaforma sarà un po 'complicato. Se possibile, ti consiglio vivamente di utilizzare chiavi di accesso su < a >
.
Se stai ancora andando, suppongo che accesskey
non funzionerà per te. Presumo che tu abbia letto il tutorial YUI pertinente .
Se blur
e focus
sono davvero la strada giusta da percorrere, userei qualcosa come
YAHOO.util.Event.onDOMReady(init);
function init() {
// set up the keyboard listeners
setUpExceptionsToKeyboardShortcuts();
}
function disableShortcuts() {
// Do what you've got to do
}
function enableShortcuts() {
// Do what you've got to do
}
function setUpExceptionsToKeyboardShortcuts() {
var focusable = document.getElementsByTagName('input');
focusable = focusable.concat(document.getElementsByTagName('select'));
focusable = focusable.concat(document.getElementsByTagName('textarea'));
YAHOO.util.Event.addListener(focusable, 'focus', disableShortcuts);
YAHOO.util.Event.addListener(focusable, 'blur', ensableShortcuts);
}