jEditable отправить на вкладке, а также ENTER

Мои jEditables работают нормально, пока пользователь нажимает клавишу ВВОД, чтобы выйти из поля ввода. Однако, если пользователь нажимает TAB, изменения не публикуются. Это правильное и документированное поведение.

Я бы хотел, чтобы TAB работал так же, как ENTER. Мне не нужно влиять на любые другие jEditables, просто заставьте активную в данный момент отправлять обратно, как если бы была нажата ENTER.

Есть ли способ сделать это, не связывая keydown обработчик элементов управления jEditable?

Если я должен предоставить keydown Обработчик, есть ли способ программно сказать элементу управления jEditable, чтобы он отправил себя, не извлекая идентификатор и значение из элемента управления?

1 ответ

Решение

Вы могли бы связать click событие после .editable(), поэтому он запускается после события jEditable, которое устанавливает форму. Затем связать keydown событие в текстовое поле, которое слушает клавишу TAB. Итак, если вы имеете дело с текстовым полем, вы можете сделать что-то вроде следующего:

$('.editable').editable('url', {
    ...
}).click(function(evt) {
    $(this).find('input').keydown(function(event) {
        if (event.which == 9) //'TAB'
            $(this).closest('form').submit();
    });
});

Смотрите это в действии: http://jsfiddle.net/william/6VUHh/5/.

Другие вопросы по тегам