вход на фокусе или нажатой клавише Tab, переместитесь в центр экрана

Я повторяю ответ Dmitriy - очень хорошо помещенный.

Для тех, кто волнуется по поводу производительности, которую часто приносит служебный FK, существует путь (в Oracle), можно получить преимущество оптимизатора запросов ограничения FK без стоимости наверху ограничительной проверки во время вставки, удалить или обновить. Это должно создать ограничение FK с атрибутами, ПОЛАГАЮТСЯ, ОТКЛЮЧАЮТ NOVALIDATE. Это означает, что оптимизатор запросов ПРЕДПОЛАГАЕТ, что ограничение было осуществлено при создании запросов без базы данных, на самом деле осуществляющей ограничение. Необходимо быть очень осторожными здесь для взятия на себя ответственности при заполнении таблицы с ограничением FK как это для создания абсолютно уверенным, что у Вас нет данных в Вашем столбце (столбцах) FK, которые нарушают ограничение, как будто Вы делаете так, Вы могли получить ненадежные результаты запросов, которые включают таблицу, это ограничение FK идет.

я обычно использую эту стратегию относительно некоторых таблиц в моей схеме витрины данных, но не в моей интегрированной схеме подготовки. Я удостоверяюсь таблицы, из которых я копирую данные, уже осуществили то же ограничение, или стандартная программа ETL осуществляет ограничение.

7
задан Peter Craig 3 December 2009 в 03:04
поделиться

2 ответа

Вы можете просто привязаться к событию фокуса, а затем вычислить смещение поля и отцентрировать его на экране.

$(':input').focus(function(){
    var center = $(window).height()/2;
    var top = $(this).offset().top ;
    if (top > center){
        $(window).scrollTop(top-center);
    }
});
14
ответ дан 6 December 2019 в 12:52
поделиться

Проще всего было бы включить плагин jQuery ScrollTo и плагин jQuery Viewport .

Затем оберните каждый ввод + связанные другие элементы ( ответ проверки, ....) в div.

В фокусе проверьте, полностью ли видим div, если нет, используйте scrollTo . Готово.

Конечно, это немного раздувание, но если вы можете жить с еще двумя зависимостями и дополнительными ~ 4 КБ, это должно сработать, не выполняя вычисления самостоятельно.

1
ответ дан 6 December 2019 в 12:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: