Клавиша Tab с полями JEditable

У меня есть страница с помощью JQuery и Jeditable для создания доступных для редактирования текстовых элементов на странице.

При редактировании элемента я хотел бы смочь снабдить вкладками от одного элемента до следующего.

Я не уверен в как к:

  • Используйте jeditable или jQuery для получения события клавиши Tab (код клавиши = 9)

  • После того как то событие обнаруживается, переместите фокус в следующий элемент и активируйте его через jeditable

Любая справка ценится.Спасибо!

8
задан SylvanK 19 May 2009 в 23:59
поделиться

2 ответа

Мне удалось найти способ сделать это:

$('div.editbox').bind('keydown', function(evt) {
    if(evt.keyCode==9) {
        $(this).find("input").blur();
        var nextBox='';
         if ($("div.editbox").index(this) == ($("div.editbox").length-1)) {
                nextBox=$("div.editbox:first");         //last box, go to first
            } else {
                nextBox=$(this).next("div.editbox");    //Next box in line
            }
        $(nextBox).dblclick();  //Go to assigned next box
        return false;           //Suppress normal tab
    };
});

На вкладке двойной щелчок (здесь установлен jeditable для использования события dblclick) отправляется в следующее окно. Если это последнее поле редактирования (назначен уникальный класс, у меня были проблемы с селекторами), оно переходит к первому.

Я также использовал find ("ввод"), поскольку мне не удалось найти другой селектор, который выбрал бы jeditable -созданный ввод для размытия.

Не оптимально, но работает.

6
ответ дан 5 December 2019 в 21:21
поделиться

Одним из решений было бы заставить прослушивать контейнер для редактируемых элементов или, возможно, даже документ. Затем его простая задача - запросить документ или контейнер для редактируемых элементов, определить, какой из них редактируется больше всего, и перейти к следующему элементу в списке.

0
ответ дан 5 December 2019 в 21:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: