我有一个包含文本的页面,文本中的一些文字可以动态更改。这些词有一个元素,应该有一个工具提示。当用户徘徊单词(或者我猜想在触摸设备上点击它)时,应该使用generateSpecialMarkupElement($(element).text())
生成工具提示。一旦HTML被呈现给DOM,另一个JavaScript函数必须被称为replaceMarkupHTML()
。
不幸的是,我无法控制这些功能。动态生成引导工具提示
现在我想知道是否有一个简单的方法在引导完成这件事。例如,运行第一个函数的before
事件和调用第二个函数的after
事件。
这里是功能的简单示例文本和简化版本:
http://jsfiddle.net/8aqz5auk/1/
那么,有挂钩的引导路/拦截这种事情?或者是否有另一种简单的方法可以完成?
编辑:我刚刚有一个想法。当引导程序显示工具提示时,它似乎将一个元素注入到DOM中。有趣的部分是类'tooltip-inner'的容器。所以,我想听听对身体匹配“.tooltip-内的”新元素被注入每当这种情况发生我试图操纵它:
$('body').on('DOMNodeInserted', '.tooltip-inner', function() {
var el = $(this)
el.html("") // empty the tooltip element
el.append(generateSpecialMarkupElement(el.text())) // insert the generated markup element
replaceMarkupHTML() // replace the markup element with normal html
});
遗憾的是它不工作。它只是抛出了一百万个错误,并且当我尝试它时,站点冻结。
编辑2: 感谢Chris巴尔,我有一点点接近:http://jsfiddle.net/8aqz5auk/2/
但提示并不总是显示和提示的位置似乎是一种错误(显示出来的单词的顶部,而不是旁边/上方/下方/ ...)。
我真的不知道这是你要求的,但是... https://www.w3schools.com/bootstrap/bootstrap_tooltip.asp –
它根本不是...。 – Forivin