我在Thickbox 中加载了一个表单,该表单是使用AjaxForms 提交的,我正在尝试添加一些不错的qTips,以使用户更好地了解他们输入数据时表单字段的作用(这是一个配置选项模式对话框)
现有的东西工作正常,ThickBox 弹出,表单显示并提交正常。但是,我似乎无法在任何元素上显示 qTip。我已经设法通过使用 Firebug 控制台手动附加它来使其工作。
我已将用于扩展“高级”面板和 qtip 的代码放置到加载到 ThickBox 的页面中,并且 jQuery 1.4.2 在项目中全局加载。
<script type="text/javascript" src="js/jquery.qtip-1.0.0-rc3.min.js"></script>
<script type="text/javascript">
$(function(){
$('div#advanced').hide();
$('#advtoggle').click(function(e){
e.preventDefault();
$('div#advanced').toggle();
});
$('#theme').qtip({
content: "Default theme id, 7 for a custom window",
position: {
corner: {
target: 'topRight',
tooltip: 'bottomLeft'
}
},
style: {
name: 'cream',
tip: true
}
});
});
</script>
我可以毫无问题地展开面板,但我很困惑为什么我的 qTip 不会显示。
我的第一个想法是 qTip 无法初始化,因为厚盒没有打开,因此 dom 还不存在,但它是简写的ready()
,所以应该没问题。我尝试删除 ready 并尝试将代码移动到父页面中,但都没有给出任何结果。
任何想法将不胜感激!塔
- ThickBox,http://jquery.com/demo/thickbox/ *(我知道它已被弃用)
- qTip,http://craigsworks.com/projects/qtip/
- AjaxForms,http://jquery.malsup.com/form/
PS,
现在在 Firebug 中添加它似乎会抛出这个错误,
>>> $('#theme').qtip();
TypeError: f(this).data("qtip") is null { message="f(this).data("qtip") is null", more...}