在启用鼠标跟踪的情况下手动打开jQuery UI Tooltip

时间:2013-04-07 01:55:19

标签: jquery-ui jquery-ui-tooltip

如果看到this fiddle,您会注意到为了生成工具提示,鼠标必须离开并在初始化工具提示后重新输入div foo

我想也许我可以使用tooltip("open")手动触发工具提示。不幸的是,当我这样做时,鼠标跟踪不起作用。请参阅this fiddle

有没有人知道如何在无需离开并重新输入div的情况下启用鼠标跟踪即可打开工具提示?如果您想知道我为什么需要这样做,我正在使用占据整个屏幕的canvas元素中的WebGL。

1 个答案:

答案 0 :(得分:0)

我正在使用track: true选项,我在不同的上下文中遇到了同样的问题。我正在使用richfaces并有一些ajax调用,它们会重新呈现页面的某些部分。

每次重新渲染后,我需要重建重新呈现部分中的工具提示,因此我决定将事件处理程序附加到文档并在mouseenter上重建thoses工具提示,然后通过调用$(...).tooltip('open')手动打开它们。 。工具提示显示正确,但鼠标跟踪不再起作用。

因此,我没有使用$(...).tooltip('open'),而是触发了一个mouseenter事件,只使用了一次css类到init:

jQuery(document).on('mouseenter', '.tt', function() {
    jQuery(this).tooltip({
        content: function() { ... },
        items: ".tt, .ttped",
        track: true
    })
    .toggleClass('tt ttped')
    .trigger('mouseenter');
});

我修改了 jsFiddle ,每次进入#foo和 another one 时都会重建工具提示,这只是一次初始化工具提示(静态内容) )