2011-11-08 85 views
2

我正在使用由其他人設置的現有系統(不再在這裏)。在這個系統中,點擊一個特殊的<span>中的文本將觸發一個js函數,它將用<input>字段替換文本。在那裏的文本被指定爲<input>元素的value,有沒有像onCreate這樣的事件?

onblur事件分配給此新的<input>字段。這調用了一個通過AJAX調用更新數據庫中數據的函數。作爲此操作的一部分,<input>字段將替換爲新值(與內容相同的<span>),並重新分配onclick事件。通過這種方式,您可以單擊文本,將其更改,在其他地方單擊,並在數據庫中自動更新。然後您可以再次執行此操作,因爲它會在每次更新時動態設置原始事件。

它介於第一個事件和第二個事件之間,我想要訪問該012bd字段。我想添加一個jquery .datepicker()它。

我該如何去調用動態創建的元素上的.datepicker()

+2

你不能只更新了「JS功能將取代與''文本」的日期選擇器綁定呢? –

+0

實際的代碼也可以幫助... – jondavidjohn

+0

@mu:它被全部使用,在許多腳本中,用於所有文本輸入字段。但我只想使用它,因此我不想在所有其他輸入字段之後使用日曆按鈕。使事情更復雜一點。好主意,但。 – user965641

回答

3

不,沒有類似於onCreate的事件。你可以找到最接近的是jQuery的.live()。這使您可以將事件綁定到現在或將來的元素。我也認爲它可能會解決你的問題。

http://api.jquery.com/live/

$('input').live('click', function() { 
    $(this).datepicker(); 
}); 

由於AutoSponge輕而易舉地指出,住的是不贊成的jQuery 1.7。他們建議使用on或delegate。

http://api.jquery.com/on/

http://api.jquery.com/delegate/

+0

但是,這可能不起作用,因爲聽起來不會有新創建的''觸發的點擊事件。可能有一個焦點事件,雖然... –

+1

住不推薦,使用委託。 – AutoSponge

+0

@AutoSponge - 謝謝。看起來像On和Delegate是現在走的路。 – mrtsherman

相關問題