我正在使用PHP生成一个日历,我希望每天都有工具提示,从Ajax请求中收集数据(通过jQuery)。
我已经这样做了,但是当我尝试使用鼠标光标导航太快时,我会收到奇怪的错误。一些工具提示被卡住了。知道怎么纠正吗?
以下是我每天DIV
的代码:
<div style="-moz-border-radius:8px; border-radius: 8px;"
class="pusty" id="dzien_'.$day.'"
onclick="idz_do_dnia('.$day.','.$miesiac.','.$rok.','.$gildia[id_gildi].')"
onmouseover="zaznacz('.$day.','.$data_s.','.$data_k.','.$gildia[id_gildi].')"
onmouseout="odznacz('.$day.')" >
</div>
这里有2个javascript函数来显示tooltim(名为:zaznacz)并隐藏它们(名为:odznacz)
function zaznacz(id,data_s,data_k,gildia)
{
jQuery("#dzien_"+id).removeClass("pusty");
jQuery("#dzien_"+id).addClass("zaznaczony");
jQuery.ajax(
{
url: '/raidplanner_mini.php?data_s='+data_s+'&data_k='+data_k+'&gildia='+gildia,
success:function(data)
{
if (!jQuery("#dzien_"+id).hasClass("tooledUp"))
{
jQuery("#dzien_"+id).tooltip(
{
content: data,
show: false,
tooltipClass: "tooltip",
hide: false,
track: false,
});
jQuery("#dzien_"+id).tooltip("open");
jQuery("#dzien_"+id).addClass("tooledUp");
}
//else
//jQuery("#dzien_"+id).tooltip().show();
}
});
}
function odznacz(id)
{
jQuery("#dzien_"+id).removeClass("zaznaczony");
jQuery("#dzien_"+id).addClass("pusty");
}
任何想法如何让它发挥作用?
答案 0 :(得分:0)
此处正在跟踪该错误:http://bugs.jqueryui.com/ticket/8740
我在Chrome扩展程序中使用了以下解决方法。我在jQueryUI工具提示初始化中添加了一个open的处理程序,如下所示:
open: function() {
$(this).one('mouseout.wpcustom', function() {
$(this)
.off('mouseout.wpcustom')
.tooltip('disable')
.tooltip('enable');
});
}
这会强制工具提示在任何mouseout事件上关闭(使用.tooltip('disable')
)。
请在此处查看完整代码:https://github.com/jncornett/wiki-preview/blob/master/src/js/inject.js