Merge pull request #1405 from ajaxorg/stop_keypress

fix ctrl-tab keybinding on firefox
This commit is contained in:
Lennart Kats 2013-05-01 06:05:40 -07:00
commit cf4a34e7f7
3 changed files with 51 additions and 4 deletions

View file

@ -274,11 +274,19 @@ exports.addCommandKeyListener = function(el, callback) {
return normalizeCommandKeys(callback, e, lastKeyDownKeyCode);
});
} else {
var lastDown = null;
var lastDefaultPrevented = null;
addListener(el, "keydown", function(e) {
lastDown = e.keyIdentifier || e.keyCode;
return normalizeCommandKeys(callback, e, e.keyCode);
var result = normalizeCommandKeys(callback, e, e.keyCode);
lastDefaultPrevented = e.defaultPrevented;
return result;
});
addListener(el, "keypress", function(e) {
if (lastDefaultPrevented && (e.ctrlKey || e.altKey || e.shiftKey || e.metaKey)) {
exports.stopEvent(e);
lastDefaultPrevented = null;
}
});
}
};