2010-04-14 142 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