更改智能表中的页面会阻止JQuery函数工作吗?

时间:2016-05-16 18:12:08

标签: javascript jquery html angularjs smart-table

很抱歉,如果这是其他地方或明显的。我在搜索后没有看到它,而且我对网络开发很陌生,所以我可能会在这里讨论一些事情。

详细信息:

我使用智能表扩展程序(http://lorenzofox3.github.io/smart-table-website/)在Tomcat webapp I建筑物上显示数据。一切都运行良好,但我遇到了一些问题,我有一些工具提示功能。我已经有了代码,因此x / y坐标将跟随鼠标,如果图标没有悬停在上面,它将在屏幕外,因此它不会干扰任何事情。为了得到这个,我有一个带有span元素的div,包含我需要的文本。如,

<td st-ratio="60">
     <div class="smartToolTip">
          Here<span class="smartToolTipText">{{row.hover}}</span>
     </div>
</td>

问题:

这在智能表中工作正常,直到我更改页面。在此之后,如果我将鼠标悬停在任何可以显示工具提示范围的地方,它就会显示出来。鼠标坐标不再用于更新位置。我可以没有跟随鼠标的这种功能,但这显然是一个问题,因为在一个大的工具提示中,跨度占用了大量的屏幕空间(请参阅下面我的Plunker中的分页div的方式)。 / p>

在我看来,切换页面后我的tooltip.js中的所有内容都失败了。这段代码有什么我不知道的吗?

$(document).ready(function() {

    $('.smartToolTip').hover(function(){
    }, function() {

            // Hover out code
            $('.smartToolTipText').css({ top: -3000})

    }).mousemove(function(e) {

            var mousex = e.pageX - 30;
            var mousey = e.pageY + 8;

        if (mousex<0) {
            mousex = 2;
        }

            $('.smartToolTipText')
            .css({ top: mousey, left: mousex })
    });

});

Plunker: https://plnkr.co/edit/0Eakvt5Cb3hjyZF2t7ad

注意:我注意到这个Plunker由于某种原因没有在Firefox中运行。我的webapp确实如此,所以不要担心修复它。如果您使用的是Firefox,请切换到其他浏览器,如果您想关注该链接。

感谢所有建议/答案,如果有任何我可以澄清的内容,请告诉我。第一篇文章,试图遵循礼仪,但可能会遗漏一些东西。提前谢谢。

修改 解决方案:

每条评论:

Changing pages in smart-table stops JQuery functions from working?

遵循建议将函数绑定到mouseoutmousemove事件,而不是文档就绪。这就是我需要的一切。

1 个答案:

答案 0 :(得分:0)

每条评论:

Changing pages in smart-table stops JQuery functions from working?

遵循建议将函数绑定到mouseoutmousemove事件,而不是文档就绪。这就是我需要的一切。