2017-05-14 73 views
1

我目前在GWT項目工作,並希望使用白手起家提示在一個非常特殊的情況:HTML標籤的引導的提示部分不被GWT項目解釋

它是什麼:
部分該程序使用戶能夠進入界面。該界面包含可輸入文本的文本框。保存此文本後,可從程序的其他頁面查看。
什麼是重要:用戶輸入的文本可以是純文本,但也可以解釋爲HTML。所以,如果用戶要顯示一個HTML列表,而不是做這樣的事情
- 第一個項目
- 第二項
- 第三項
他可以只輸入

<ul><li>first item</li><li>second item</li><li>third item</li></ul> 

而不是純文本。
這個例子工作正常,樣式定義也能正常工作。

是什麼問題:
如果我想使用白手起家提示在完全相同的接口和文本框的上面描述這是行不通的。
如果我輸入下面的文本框

<a href="#" data-toggle="tooltip" title="Hooray!">Hover over me</a> 

的「將鼠標懸停在我」顯示爲一個鏈接(藍色),並預期徘徊,當它被強調。
但是,當持有懸停只有正常標題「Hooray!」顯示不Bootstraps之一。

我初始化工具提示作爲與https://www.w3schools.com/bootstrap/bootstrap_tooltip.asp描述:

<script> 
    $(document).ready(function(){ 
     $('[data-toggle="tooltip"]').tooltip(); 
    }); 
</script> 

這個腳本位於GWT的基礎HTML文件。

它是如何處理:
內部在GWT項目首先獲取從文本框中的純字符串,然後此字符串被用來創建一個HTML窗口小部件(飛),然後將其進一步在一些其他圖示如前所述。

注:
我不能改變輸入信息的方式,因爲它是至關重要的是,用戶可以自由上述輸入信息。

爲什麼我需要這個:
爲了也爲觸摸設備啓用工具提示。

工具提示是否可能在錯誤的時間初始化? 我的意思是,打開程序時,工具提示在開始時就被初始化。但是要了解程序中可以看到工具提示的部分,必須點擊幾個界面。也許工具提示只能在進入/加載相應區域的確切時間初始化?

如果有人有一個想法,這將是一個很大的幫助。

回答

2

總之 - 您需要在將引導工具提示添加到DOM結構後初始化引導工具提示。

在引導documentation你可以閱讀:

出於性能考慮,工具提示和酥料餅的數據API是選擇加入,這意味着你必須自己初始化。

當文檔爲ready時,顯示的腳本被調用。它會查找所有參數爲data-toggle的元素,其值爲tooltip(請參閱documentation)。然後,對於所有這些元素,它會調用bootstrap tooltip init函數。如果您添加新的工具提示,則不會自動初始化。

您可以初始化新的工具提示使用這種方法:

private native void initTooltips() /*-{ 
    $wnd.jQuery("[data-toggle='tooltip']").tooltip(); 
}-*/; 
+0

感謝您的回答。我理解這個問題。不幸的是,我現在還無法解決它:我嘗試將你的方法作爲另一個類中的靜態方法添加,並且從創建相應小部件的同一個類中添加你的方法..它不適用於我。就jQuery而言,我確實是一個noob(還沒有),還有什麼我必須考慮的?我也嘗試使用$ wnd。$('[data-toggle =「tooltip」]')。tooltip();相反,也不起作用。我調用了創建HTML小部件之後的方法,並給出它的內容... –

+0

嗯,它適用於我...在瀏覽器控制檯中是否有任何錯誤消息? – Adam

+0

沒有錯誤信息:(好吧我會玩它可能我初始化在一個錯誤的地方... –