Вы пытались изменить tabindexes onblur, прежде чем RETURN TRUE, чтобы контролировать направление курсора? Это что-то вроде взлома, но вы идете.
Кроме того, вы можете использовать делегированное событие (возможно, в форме) для перехвата и возврата false при любых событиях нажатия клавиш, которые изменят значение любого ввода только для чтения. Что-то вроде:
$('#ARTransferForm *[readonly]').live("keypress", function(event) {
// compare keycode to blacklist: backspace, perhaps delete too?
if(bKeyIsBlacklisted) {
event.preventDefault();
return false;
}
});
(Примечание: это довольно псевдокодонно. Вы захотите перепроверить синтаксис для селекторов атрибутов sizzle, а также подпись делегирования события jquery. И будьте реальными , внимательно следите за тем, как широко вы используете "no keys" net: старайтесь не запрещать копирование и другие операции, выполняемые с помощью сочетаний клавиш. Вам нужно будет проверить наличие клавиши-модификатора, чтобы различать пользователя, пытающегося набрать "c" и Ctrl + C.
В каких браузерах вы это тестируете?