在我的代码中,我想创建一个包含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);

09-25 15:20