Как выбрать текстовое поле tinyMCE при нажатии клавиши табуляции? - PullRequest
6 голосов
/ 07 апреля 2011

Hello Я получил похожий на этот код

<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. Когда страница загружена, она фокусируется на вводе [name = text], но когда я нажимаю клавишу Tab, она выбирает input [name = tags] вместо textarea [name = body] (который следующий) Можете ли вы помочь мне с этим вопросом?

Ответы [ 4 ]

5 голосов
/ 07 апреля 2011

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

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

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

4 голосов
/ 10 мая 2011

Я решил это, добавив tabfocus к плагинам, а затем добавив tabfocus_elements: ": prev,: next"

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

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

3 голосов
/ 18 апреля 2011
1 голос
/ 08 февраля 2017

Мне нужен был пользовательский порядок табуляции от другого элемента на странице. Код, который я использовал для решения этой проблемы в 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(), чтобы найти правильный редактор для установки фокуса.

...