Сосредоточьтесь на текстовое поле в подсказке - PullRequest
2 голосов
/ 02 ноября 2011

Отображение ссылки «Поделиться» в текстовом поле в подсказке с использованием qTip2 .

Сама подсказка работает нормально, но я также хотел бы, чтобы текстовое поле имело фокусировку со всем выделенным текстом.Найдено это , но почему-то фокус / щелчок + выбор не работают.

JSFiddle link

Ответы [ 2 ]

3 голосов
/ 02 ноября 2011

Что-то, кажется, удаляет фокус с ввода текста после вызова обратного вызова show;это может быть просто проблема синхронизации, может быть что-то в qTip2, изменяющее фокус.

Вы можете попробовать использовать setTimeout с нулевым временем для запуска функции, как только браузер получит контрольназад (и это должно произойти после того, как весь материал qTip2 закончен).Это работает для меня в Chrome, Safari, Firefox и Opera:

events: {
    show: function(event, api) {
        var $this = $(this);
        setTimeout(function() {
            $this.find('input.focusselect').focus().select();
        }, 0);
    }
}

Демо: http://jsfiddle.net/ambiguous/npZgv/

1 голос
/ 02 ноября 2011

В случае, если кто-то заинтересован в другом подходе, вот ответ, который я получил от Крейга Томпсона (создатель qTip), который использует событие автофокуса

           show: {
                event: 'click',
                ready: true,
                solo: true,
                autofocus: '.focusselect'
            },
            events: {
              show: function(event, api) {
                  $('input.focusselect', this).bind('focus', function() {
                      $(this).select();
                  });
              }
           }
...