我有一個包含文本的頁面,文本中的一些文字可以動態更改。這些詞有一個元素,應該有一個工具提示。當用戶徘徊單詞(或者我猜想在觸摸設備上點擊它)時,應該使用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