2010-04-14 97 views
0

我在學校測驗的工作,但我已經碰到了一個問題。我收到了一個用於定製單選按鈕的JavaScript文件(瑞安Fait提供的CUSTOM FORM ELEMNTS,如果有幫助的話)。該腳本隱藏輸入按鈕,並添加自定義樣式跨度。jQuery的Click事件與JavaScript不工作

現在我想,當我點擊這些JavaScript的一個補充跨度,我想爲一個名爲「下一個問題」按鈕,按下時把你帶到下一個問題刪除禁用。原因是我不希望人們在沒有選擇答案的情況下意外地得到下一個問題。問題是當我按下添加的跨度時什麼也沒有發生,但是當我按下另一個相同的跨度時,我已經在html中添加了它,正如預期的那樣。

跨度得到了類無線電這是我尋找了jQuery的類。

下面是對錯誤的測試頁:http://hultner.se/graphicsquiz/livetest/livetest.php

短:無法獲取的jQuery。點擊()函數,跨度工作使用JavaScript早些時候在文檔中添加的。

回答

1

您正在尋找jQuery的live()功能。你會做這樣的事情:

$(".radio").live("click", function() { 
    // Enable the button here 
}); 

你的另一種選擇是,如果你擁有jQuery的1.4.2包含在網頁上使用新的delegate()功能。類似的語法,但是,它只是它叫上你要綁定的事件監聽到的那股子元素的元素中掃描,我相信它有少得多的大頁面的性能影響。 (不適用於你的情況,但用最好的工具練習總是很好的。)

$("element_containing_radio_buttons").delegate(".radio" "click", function() { 
    // Enable the button here 
}); 
+0

謝謝你完美的工作,正是我一直在尋找的。 編輯:現在不能接受你的答案,但會盡快我可以。 – Hultner 2010-04-14 18:48:28

+0

@Hultner;優秀!很高興我能幫上忙! – 2010-04-14 18:53:10

+1

FYI:jQuery的生活()已過時,所以現在應該用在()。 – aikeru 2012-11-14 23:17:57