2017-10-09 159 views
0

打開新工具提示時,我正在尋找可以自動關閉工具提示的可能性。我正在使用Primefaces 6.1。當打開新工具提示時關閉工具提示

<p:tooltip for="clientName" showEffect="clip" hideEvent="dblclick" 
    position="bottom"> 

目前它的工作原理如下:從我的數據表中將鼠標懸停在標籤上,並打開工具提示。當我雙擊打開它的標籤時,工具提示消失。但問題是,我可以在當時意外打開30個工具提示,只需移動幾個數據表單即可。

簡而言之:我只希望當時打開一個工具提示。但我不希望工具提示通過MouseLeave事件關閉。

我很高興的任何建議。謝謝。

回答

1

使用其根據PrimeFaces文檔(542頁上在6.1文檔)工具提示的onShowonBeforeShow屬性

昂秀 客戶端側回調示提示後執行。

beforeShow 顯示工具提示前執行的客戶端回調。 返回false將阻止顯示。

您可以調用任何javascript(jquery)來隱藏所有其他工具提示。

但是,爲什麼不使用showDelay例如500毫秒,而不是默認150?

+0

這是「幾乎」工作。問題是:當我使用beforeShow時,它甚至不再打開。當我使用onShow時,它一出現就關閉。我的js方法如下: 函數closeTooltip(){ \t PF('tooltip-pd')。hide(); } 該showDelay是一個不錯的主意,但它並沒有改變的事實,我只需要懸停在標籤上,似乎10ms出現。當我將延遲設置爲1000毫秒時,它不適用於「懸停」時間。 任何想法,我可以使它的工作?但非常感謝您的幫助:) –

+0

您需要在'beforeShow'中使用它時在javascript中顯式'返回true'。沒有返回任何東西(不知道你做了什麼)將被解釋爲'假'我想,因爲你可以在文檔中閱讀,防止顯示 – Kukeltje

+0

謝謝你的提示。我只是嘗試添加一個簡單的:return true;但我想這是錯誤的。我沒有任何關於如何使用js的線索。你能告訴我我必須在那裏寫什麼嗎?我給了工具提示ID「tooltip-pd」。 –