1

如果你看到这个小提琴,你会注意到为了产生工具提示,鼠标必须foo在工具提示初始化后离开并重新进入 div。

我想也许我可以使用tooltip("open"). 不幸的是,当我这样做时,鼠标跟踪不起作用。看到这个小提琴

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

4

1 回答 1

1

我正在使用该track: true选项,并且在不同的上下文中遇到了相同的问题。我正在使用richfaces 并且有一些重新渲染页面部分的ajax 调用。

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

因此,我没有使用$(...).tooltip('open'),而是触发了 mouseenter 事件并使用 css 类仅初始化一次:

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

我编辑了你的jsFiddle,它在你每次输入 #foo 时重建工具提示,另一个只初始化一次工具提示(静态内容)

于 2013-08-05T16:56:21.500 回答