JQuery qTip для переключаемого слоя справки: beforeShow проблемы - PullRequest
2 голосов
/ 05 июля 2010

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

Я знаю, что qTip не может нацеливаться на селекторы live () без каких-либо хитростей при наведении тела или чего-то в этом роде, поэтому я предположил, что проще всего было бы использовать обратный вызов beforeShow, чтобы проверить, имеет ли тело 'help Класс применяется или нет. К сожалению, когда я тестирую с предупреждением, кажется, что функция beforeShow просто вызывается при загрузке страницы, а не «перед показом», как ожидалось. У кого-нибудь есть какие-либо идеи или подобные прошлые события?

// outside of document ready function

function checkHelpLayerStatus() {
    alert('things that make you go hmmmmm');
    if ($('body').hasClass('help')) { 
    }
    else {
        $('.tip').qtip({disable: true});
    }
}

// inside document ready function

$("#header a:contains(Help)").click(function(e) {
    $('body').toggleClass('help');
    e.preventDefault();
});

$("body th:contains(Test Tip)").addClass('tip').qtip({
    content: 'This is an active list element',
    beforeShow: checkHelpLayerStatus()
});

Спасибо !!

1 Ответ

1 голос
/ 06 июля 2010

Спасибо за исправление, Марсель.Кстати, я допустил эту ошибку, когда просто пытался быть забавным, изменяя свой код перед публикацией здесь.Это не имеет никакого отношения к проблеме.

Если у кого-то еще возникают проблемы с API qTip, вот решение.

// Help Layer
$("#help").click(function(e) {
    $('body').toggleClass('help');
    e.preventDefault();
});

$("body th:contains(Help Test)").addClass('tip').qtip({
    content: {
        text: 'Help Layer Is On'
    },
    api: {
        beforeShow: checkHelpLayerStatus
    }
});

function checkHelpLayerStatus() {
    if ($('body').hasClass('help')) { 
    }
    else {
        return false
    }
}

В частности, обратный вызов должен быть заключен в API:{} скобки, которые IMO не очень очевидны из документации.

Надеюсь, что это может помочь кому-то еще.Приветствия.

...