From 23c00eee86f1a1af9fa74bc9daf30c8d33ba33f0 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Mon, 16 Jun 2014 14:46:31 +0200 Subject: Fix tab navigation with TinyMCE editor (#1489946) --- program/js/editor.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'program/js/editor.js') diff --git a/program/js/editor.js b/program/js/editor.js index c5ceddd0f..3b0621f55 100644 --- a/program/js/editor.js +++ b/program/js/editor.js @@ -165,6 +165,24 @@ function rcube_text_editor(config, id) node.tabIndex = textarea.tabIndex; if (focus) this.editor.getBody().focus(); + + // find :prev and :next elements to get focus when tabbing away + if (textarea.tabIndex > 0) { + var x = null, + editor = this.editor, + tabfocus_elements = [':prev',':next'], + el = tinymce.DOM.select('*[tabindex='+textarea.tabIndex+']:not(iframe)'); + tinymce.each(el, function(e, i) { if (e.id == editor.id) { x = i; return false; } }); + if (x !== null) { + if (el[x-1] && el[x-1].id) { + tabfocus_elements[0] = el[x-1].id; + } + if (el[x+1] && el[x+1].id) { + tabfocus_elements[1] = el[x+1].id; + } + editor.settings.tabfocus_elements = tabfocus_elements.join(','); + } + } } }; -- cgit v1.2.3