fix repeated key events for firefox

This commit is contained in:
Fabian Jakobs 2010-04-26 13:44:38 +02:00
commit 7212563e3a
2 changed files with 19 additions and 1 deletions

View file

@ -4,7 +4,7 @@ ace.KeyBinding = function(element, editor) {
var keys = this.keys; var keys = this.keys;
ace.addListener(element, "keydown", function(e) { ace.addKeyListener(element, function(e) {
var key = e.keyCode; var key = e.keyCode;
var selection = editor.getSelection(); var selection = editor.getSelection();

View file

@ -273,3 +273,21 @@ ace.addTripleClickListener = function(el, callback) {
}, 300); }, 300);
}); });
}; };
ace.addKeyListener = function(el, callback) {
var lastDown = null;
ace.addListener(el, "keydown", function(e) {
lastDown = e.keyCode;
return callback(e);
});
ace.addListener(el, "keypress", function(e) {
var keyId = e.keyCode;
if (lastDown !== keyId) {
return callback(e);
} else {
lastDown = null;
}
});
};