mirror of
https://github.com/moodle/moodle.git
synced 2025-01-31 12:45:04 +01:00
MDL-34671 Stop browser receiving escape keydown in modal dialogues
In certain modal dialogues, we listen on the Escape key to close a dialogue. However, this is still passed to the browser. As a result, if the browser is in full screen mode and that browser respects the escape key as a means to exit full screen. As a result, we need to ensure that we listen for the escape key at keydown rather than keyup, and additionally prevent the default browser behaviour. This is a workaround to http://yuilibrary.com/projects/yui3/ticket/2532616 and, should that issue be fixed, it should be removed.
This commit is contained in:
parent
b3778a0dec
commit
8a185b9ebc
5
course/yui/toolboxes/toolboxes.js
vendored
5
course/yui/toolboxes/toolboxes.js
vendored
@ -558,8 +558,9 @@ YUI.add('moodle-course-toolboxes', function(Y) {
|
||||
// Cancel the edit if we lose focus or the escape key is pressed
|
||||
thisevent = editor.on('blur', cancel_edittitle);
|
||||
listenevents.push(thisevent);
|
||||
thisevent = Y.one('document').on('keyup', function(e) {
|
||||
if (e.keyCode == 27) {
|
||||
thisevent = Y.one('document').on('keydown', function(e) {
|
||||
if (e.keyCode === 27) {
|
||||
e.preventDefault();
|
||||
cancel_edittitle(e);
|
||||
}
|
||||
});
|
||||
|
2
lib/yui/chooserdialogue/chooserdialogue.js
vendored
2
lib/yui/chooserdialogue/chooserdialogue.js
vendored
@ -144,7 +144,7 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
|
||||
this.listenevents.push(thisevent);
|
||||
|
||||
// Grab global keyup events and handle them
|
||||
thisevent = Y.one('document').on('keyup', this.handle_key_press, this);
|
||||
thisevent = Y.one('document').on('keydown', this.handle_key_press, this);
|
||||
this.listenevents.push(thisevent);
|
||||
|
||||
// Add references to various elements we adjust
|
||||
|
Loading…
x
Reference in New Issue
Block a user