1

我有一个包含数百个元素的页面,鼠标悬停时需要 QTip。这正在杀死 IE8,尽管其他浏览器似乎运行良好。

为了解决这个问题,我尝试在用户将鼠标悬停在元素的容器上时创建 QTips,这样它一次只能执行约 100-200 个,而不是一次执行 1,000+ 个。

$('#color-family /*ID of body*/> .strctr-contain /*containing class*/').live('mouseover', function(){
   $(this).children('.palette .color-swatch, .stain-swatch, .color-swatch-dash').qtip({//foo}
})
 });

当您将鼠标悬停在容器上时,此函数会触发,但是,当您将鼠标悬停在子容器上时,它只会一遍又一遍地触发此函数,而不是显示工具提示。

4

3 回答 3

2

也许最好使用“一个”功能,它会为你做这一切。

$('#color-family /ID of body/> .strctr-contain /containing class/').one('mouseover', function(){

     $(this).children('.palette .color-swatch, .stain-swatch, .color-swatch-dash').qti({//foo} ); 

});
于 2012-01-12T17:24:07.897 回答
0

这将在运行一次时删除鼠标悬停绑定...

$('#color-family /*ID of body*/> .strctr-contain /*containing class*/').on("mouseover", function(){
   $(this).children('.palette .color-swatch, .stain-swatch, .color-swatch-dash').qtip({ //foo }).off("mouseover");
});

它只需要添加到它的取消绑定(关闭)。

于 2012-01-12T17:18:43.853 回答
0

好吧,如果我们可以只使用绑定功能,我会在第一次创建 qtips 后尝试取消绑定操作:

$('#color-family / body 的 ID /> .strctr-contain /包含类/').bind('mouseover', function(){

$(this).children('.palette .color-swatch, .stain-swatch, .color-swatch-dash').qtip({//foo}); $(this).unbind('mouseover');

});

于 2012-01-12T17:20:47.977 回答