Я не уверен, что полностью понимаю, что вы пытаетесь сделать, но кажется, что вы хотите записать пользовательский ввод в div с атрибутом contentEditable. Если бы я использовал Mootools и Firebug , я бы начал со следующего: *
$('idOfEditableDiv').addEvent('keydown', function(event) {
console.log(event.key);
});
Это выведет на консоль Firebug любую клавишу, которая нажата внутри редактируемого содержимого div. Поэтому, если я нажму клавишу «а», будет напечатано «а». Это может быть полезно, если вы хотите захватить ввод, который не имеет очевидного значения, такого как клавиша Caps Lock. Регистрация всего события с помощью console.log(event)
может дать вам еще больше полезной информации.
Когда вы определили, какие клавиши вы хотите захватить (скажем, клавиши a и b), сделайте следующее:
$('idOfEditableDiv').addEvent('keydown', function(event) {
if(event.key == 'a' || event.key == 'b') {
//do stuff here if the a or b key was pressed
}
});
Иногда вы можете захотеть сделать что-нибудь, если была нажата клавиша a, и другие вещи, если была нажата клавиша b. В этом случае сделайте следующее:
$('idOfEditableDiv').addEvent('keydown', function(event) {
if(event.key == 'a') {
//do stuff here if the a key was pressed
}
else if(event.key == 'b') {
//do stuff here if the b key was pressed
}
});
Если вы не знакомы с Mootools, вам нужно заключить весь код Mootools в событие domReady, например:
window.addEvent('domready', function() {
$('idOfEditableDiv').addEvent('keydown', function(event) {
if(event.key == 'a') {
//do stuff here if the a key was pressed
}
else if(event.key == 'b') {
//do stuff here if the b key was pressed
}
});
});
Больше информации о Mootools Events