在我的代码中,我想创建一个包含3个可能答案的问题。用户单击其中之一。然后问题消失了。我的问题是问题在用户单击之前在加载时就消失了。
PS:我是编程和JavaScript的新手,所以请尽量简化答案。
先感谢您。 :)
$("input:radio").attr("checked", false);
function disappear(a) {
$("#q" + a).fadeOut(1500);
}
$(".choice1").click(disappear(1));
<form id="q1">
58*2=
<br>
<input type="radio" class="choice1" name="a1" value="1" />128
<input type="radio" class="choice1" id="r1" name="a1" value="2" />116
<input type="radio" class="choice1" name="a1" value="3" />126
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
最佳答案
问题出在您的点击处理程序上。
$(".choice1").click(disappear(1));
上面的代码在加载时调用了
disappear
函数,因为您没有将函数的引用作为回调传递。为处理程序编写有效的匿名回调
$(".choice1").click(function(){
disappear(1)
});
附带一提,您可以在如下所示的处理程序中传递函数引用,因为它是无参数的。否则,您将需要如上所述的匿名函数包装。
$(".choice1").click(disappear);