Как выбрать TinyMCE textarea при нажатии клавиши tab?


Привет Я получил похожий на этот код

<form method="post" action="/" name="form" autocomplete="off">
<input type="text" name="title" />
<textarea name="body"></textarea>
<input type="text" name="tags" />
<input type="submit" name="submit" value="Send" />
</form>

Где "textarea" - это tinyMCE... проблема возникает, когда я пытаюсь переместить выделение через элементы ввода и textarea. Когда страница загружается, она фокусирует ввод[имя=текст], но когда я нажимаю клавишу Tab, она выбирает ввод [имя=теги] вместо textarea[имя=тело] (который находится рядом) Вы можете помочь мне в этом вопросе ?

4 6

4 ответа:

Это невозможно с обычными индексами вкладок, так как TinyMCE фактически скрывает <textarea> и создает <iframe> с редактором в нем. Вы можете сделать обходной маневр, заставив сосредоточиться на Редакторе в случае размытия предыдущего элемента в javascript, вот ajQuery, вырезанный из верхней части моей головы:

$('#prev-input').blur(function(){
    tinyMCE.get('textarea').focus();
});

Затем, как только пользователь покинет предыдущий входной фокус, он перейдет в Редактор TinyMCE, возможно, вы также можете добавить метод blur (), чтобы перейти к следующему элементу.

Я решил это с добавлением 'tabfocus для плагинов, а затем добавить tabfocus_elements : ":предыдущий, следующий"

Http://tinymce.moxiecode.com/wiki.php/Plugin:tabfocus

Http://tinymce.moxiecode.com/wiki.php/tabfocus_elements

Мне нужен был пользовательский порядок табуляции из другого элемента на странице. Код, который я использовал для решения этой проблемы в IE11, был

var button = $('#btn-id');
button.on('keydown', function (e) {
    if ((e.which === 9 && !e.shiftKey)) {
        e.preventDefault();
        $(tinyMCE.get()[0].contentWindow).focus();
    }
});

Имейте в виду, что приведенный выше код будет работать только в том случае, если у вас есть только один редактор на странице. В противном случае вам придется пройтись по массиву, возвращаемому tinyMCE.get(), чтобы найти правильный редактор для установки фокуса.