用于可切换帮助层的 Jquery qTip : beforeShow problems

标签 jquery qtip

我正在尝试实现一个帮助层,可以通过单击页面标题中的帮助链接来打开和关闭该帮助层。

我知道 qTip 无法在不执行一些主体悬停技巧或类似操作的情况下定位 live() 选择器,因此我认为最简单的方法是使用 beforeShow 回调来测试主体是否具有“帮助” ' 类是否适用。不幸的是,当我使用警报进行测试时,似乎 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()
});

谢谢!!

最佳答案

感谢您的更正,马塞尔。顺便说一句,当我在发布之前只是想搞笑地改变我的代码时,我犯了这个错误。与问题无关。

如果其他人在使用 qTip api 时遇到问题,这里是解决方案。

// 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 从文档中看出来这一点并不是很明显。

希望这可以帮助其他人。干杯。

关于用于可切换帮助层的 Jquery qTip : beforeShow problems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3181844/

相关文章:

jquery - 工具提示不适用于所有地方

java - JQuery + JAVA 中的长轮询?

jquery - 从列表中删除多个选择选项

jquery - 禁用 jQuery qTip 鼠标事件

javascript - Data-qtip 在鼠标悬停时显示远离组件

javascript - jQuery qTip 的仅 IE 样式

javascript - jQuery:将 <option> 添加到 <select>

javascript - 根据条件打开日期选择器

javascript - 如何在模态中追加一行?

javascript - 为什么组合框中的 extjs qtip 没有出现在 Internet Explorer 中?