Можно ли показать qtip с вызовом функции? - PullRequest
3 голосов
/ 02 марта 2012

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

Таким образом, я хочу показать всплывающее окно со ссылкой «отправить в форму», но у меня возникают проблемы при создании всплывающей подсказки с qtip (которую я использую повсеместно на моем сайте) из моего скрипта, которая определяет, был ли текст помечено или нет (не должно быть ссылки, если мой скрипт не может ничего скопировать).

Я использую этот скрипт для определения выбора: http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html

А там, где в настоящее время есть alert, позже должен быть вызов qtip:

Kolich.Selector.mouseup = function(){
    var st = Kolich.Selector.getSelected();
    if(st!=''){
        alert("You selected:\n"+st); // here will be showQTipAtMouseButtonFixed()
    }
}

Теперь проблема в том, что весь qtip сфокусирован на наведении. Конечно, я могу обернуть функцию вокруг вызова .qtip(), но это не решает проблему. Тогда всплывающая подсказка будет присоединена к моей функции и все равно будет показывать только тогда, когда я наведите элемент, к которому она прикреплена.

Это будет qtip с упакованной функцией

function showQTipAtMouseButtonFixed() {
    $('#content').qtip({
        content: 'Hello!',
        position: {
            target: 'mouse',
            adjust: { mouse: false }
        },
        hide: {
            fixed: true
        },
        style: {
            tip: true,
            classes: 'ui-tooltip-red'
        }
    });
}

Использование this вместо "#content" (которое я видел в похожих постах) также не работает.

Но я хочу, чтобы он все время был активным в фоновом режиме и отображался, когда Kolich.Selector говорит: «А теперь вы отображаются!».

Я также нашел подсказку по show: 'click' через Google , но это тоже не решение. Это работает только тогда, когда вы действительно принимаете щелчок, но в моем случае это скорее двойной щелчок или перемещение мыши или клавиатуры.

Возможно ли это с помощью qtip или мне нужно использовать CSS display с нуля?

1 Ответ

6 голосов
/ 02 мая 2012

Вы пробовали функцию "show" в qtip?

function showQTipAtMouseButtonFixed()
{
   $('#target').qtip({
       // your options

       show: '',
       hide: '',

       content: {
            prerender: true, // important
            text: 'Whatever you want to display'
       }
   }).qtip('show');
}
...