Revision e04524d9
Von Moritz Bunkus vor etwa 8 Jahren hinzugefügt
js/autocomplete_chart.js | ||
---|---|---|
RIGHT: 39,
|
||
PAGE_UP: 33,
|
||
PAGE_DOWN: 34,
|
||
SHIFT: 16,
|
||
CTRL: 17,
|
||
ALT: 18,
|
||
};
|
||
var CLASSES = {
|
||
PICKED: 'chartpicker-picked',
|
||
... | ... | |
select: function(event, ui) {
|
||
set_item(ui.item);
|
||
},
|
||
search: function(event, ui) {
|
||
if ((event.which == KEY.SHIFT) || (event.which == KEY.CTRL) || (event.which == KEY.ALT))
|
||
event.preventDefault();
|
||
}
|
||
});
|
||
/* In case users are impatient and want to skip ahead:
|
||
* Capture <enter> key events and check if it's a unique hit.
|
||
... | ... | |
});
|
||
return false;
|
||
}
|
||
} else {
|
||
} else if ((event.which != KEY.SHIFT) && (event.which != KEY.CTRL) && (event.which != KEY.ALT)) {
|
||
state = STATES.UNDEFINED;
|
||
}
|
||
});
|
Auch abrufbar als: Unified diff
ChartPicker: Taskendrücke auf Shift, Ctrl & Alt ignorieren
Andernfalls wird schon beim Drücken eines der Modifier eine Suche
ausgelöst. Das kann besonders nervig sein, wenn man den Focus vom
Browser wegnimmt:
• Alt+Tab drücken, um zum anderen Fenster zu wechseln
• Schon bei Alt wird eine Suche ausgelöst.
• Durch den Focus-Verlust wird ein Blur-Event ausgelöst.
• Und schon ist der interne Zustand ungültig, und das Element wird rot
dargestellt.
Analoges passiert, wenn man z.B. mit Ctrl+F2 zu einem anderen virtuellen
Desktop wechselt.
Noch schlimmer ist, dass bei Shift+Tab ebenfalls zuerst eine Suche
ausgelöst und anschließend verhindert wird, dass der Focus das Element
verlässt.