如果看到this fiddle,您会注意到为了生成工具提示,鼠标必须离开并在初始化工具提示后重新输入div foo
。
我想也许我可以使用tooltip("open")
手动触发工具提示。不幸的是,当我这样做时,鼠标跟踪不起作用。请参阅this fiddle。
有没有人知道如何在无需离开并重新输入div的情况下启用鼠标跟踪即可打开工具提示?如果您想知道我为什么需要这样做,我正在使用占据整个屏幕的canvas
元素中的WebGL。
答案 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 时都会重建工具提示,这只是一次初始化工具提示(静态内容) )