2014-03-07 45 views
0

我有一個div,其內容在運行時呈現(呈現屬性設置爲false),點擊一個按鈕後。用jsf檢查,如果jsf元素已被渲染

我想要做的是使用JavaScript(與jQuery)來操縱div的內容。我目前正在處理超時,但由於加載時間的波動,這是不合適的。

有沒有什麼辦法讓JavaScript的通知,並儘快執行函數渲染設置爲真?

編輯: 我想我不熟練地表達自己:

我在做什麼具體的:我有一個按鈕,執行一個SQL查詢並顯示在由一個div包圍的表中的結果。 div和表格被設置爲rendered =「false」,並通過單擊按鈕來重新渲染。

我試圖調用的javascript函數用於樣式表的行樣式。所以js函數需要檢查div,這在div被渲染之前是不可能的。

+0

http://stackoverflow.com/questions/11245896/a-way-to-easily-check-if-an-element-was-rendered-in-jsf2 –

+0

@Pilot對不起試點,這不是我什麼尋找,因爲我需要JavaScript來檢查元素被呈現,而不是jsf – Beejay

+1

爲什麼你不使用,那個按鈕上的'oncomplete'來調用那個javascript樣式函數......如果它是primefaces當然! –

回答

1

使用oncomplete該按鈕來調用JavaScript的造型功能。

<p:commandLink oncomplete="jsFunction()" > 

希望這會有所幫助。

+0

完美,謝謝! – Beejay

+0

不客氣:) –

0

您可以將DOMNodeInserted綁定事件,as described here. 這使您能夠做這樣的事情:

$(document).bind('DOMNodeInserted', function(event) { 
    var element = $(event.target); 
    if (element.hasClass("myDiv")) { 
     $(element).text("changed Content"); 
    } 
});