fix repeated key events for firefox
This commit is contained in:
parent
a13bb1db4a
commit
7212563e3a
2 changed files with 19 additions and 1 deletions
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -272,4 +272,22 @@ ace.addTripleClickListener = function(el, callback) {
|
||||||
ace.autoremoveListener(el, "mousedown", callback, 300);
|
ace.autoremoveListener(el, "mousedown", callback, 300);
|
||||||
}, 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;
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
Loading…
Add table
Add a link
Reference in a new issue