Вы можете использовать скрытый элемент, чтобы отслеживать элемент с текущим фокусом. Таким образом, он будет содержать идентификатор предыдущего элемента, когда другой элемент получит фокус. При щелчке по элементу с включенным фокусом его идентификатор сохраняется в скрытом элементе. При щелчке по элементу с отключенным фокусом фокус возвращается обратно к ранее сфокусированному элементу, а скрытый элемент 'active_focus_enabled_id' не обновляется. Вам нужно будет использовать классы, чтобы определить, какие элементы могут / не могут получить фокус, и убедитесь, что все элементы с фокусировкой имеют идентификатор.
<input type='hidden'id='active_focus_enabled_id' value=''id_with_initial_focus'>
<input type='button' class='focus_enabled' id='id_with_initial_focus' value='Whatever #1'>
<input type='button' class='focus_enabled' id='some_other_id' value='Whatever #2'>
...
<input type='button' class='focus_disabled' value='Phone Input #1'>
<input type='button' class='focus_disabled' value='Phone Input #2'>
...
<script>
$('.focus_disabled').click(function(event) {
var id_previous = $('active_focus_enabled_id' ).val();
$(''#' + id_previous).focus();
});
$('.focus_enabled').click(function(event) {
var id_new = $(event.target).attr('id');
$('active_focus_enabled_id').val(id_new);
});
</script>