From bcc03f8160c2c849a7cd399070dc0396ab5eeaa6 Mon Sep 17 00:00:00 2001 From: Marius Hein Date: Fri, 13 Feb 2015 11:39:28 +0100 Subject: [PATCH] Focus: Set the focus to the next usable element Fix copy and paste error and find h1 first. refs #7976 --- public/js/icinga/events.js | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/public/js/icinga/events.js b/public/js/icinga/events.js index 57c365649..49c23437d 100644 --- a/public/js/icinga/events.js +++ b/public/js/icinga/events.js @@ -337,21 +337,19 @@ handleAnchor: function(query) { var $element = $(query); if ($element.length > 0) { - // Try to find the first header. It is more pleasant to users - // to select the header instead a container - var $header = $element.find(':header:first'); - if ($header.length > 0) { - $element = $header; - } else { - var $input = $element.find(':header:first'); - if ($input.length > 0) { - $element = $input + var focusQueries = ['h1:first', ':header:first', ':input:first']; + $.each(focusQueries, function(index,q) { + var $item = $element.find(q); + if ($item.length > 0) { + $element = $item; + return false; } - } + }); + // If we want to focus an element which has no tabindex // add one that we can focus is if ($element.prop('tabindex') < 0) { - $element.prop('tabindex', 0); + $element.prop('tabindex', '-1'); } $element.focus(); }