我正在尝试实现一个帮助层,可以通过单击页面标题中的帮助链接来打开和关闭该帮助层。
我知道 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/