我创建了一个单选按钮,用户可以在其中选择公制单位或英制单位。 以下代码是事件处理程序:
var metricRadio = document.getElementById("metric");
var imperialRadio = document.getElementById("imperial");
metricRadio.addEventListener("click", toMetric, false);
imperialRadio.addEventListener("click", toImperial, false);
当用户单击Metric单选按钮时,将调用函数toMetric
。在函数toMetric
中,我将用户在Imperial中输入的内容转换为Metric,并使用Metric值更新输入框。问题是如果选择了Metric并再次单击Metric单选按钮,则再次调用函数toMetric
。如何在选择“度量标准”单选按钮时阻止调用toMetric
函数。
您可以在此测试我的意思:JSFiddle
只需输入3个值,然后多次单击“公制”或“英制”单选按钮。
答案 0 :(得分:6)
请看:jsFiddle。
我用过"改变"而不是"点击":
metricRadio.addEventListener("change", toMetric, false);
imperialRadio.addEventListener("change", toImperial, false);
答案 1 :(得分:2)
您应该添加一个包含当前状态(公制或英制)的变量,而不是尝试只调用一次函数(您可以设置一个变量),并在函数中使用if条件测试当前状态< / p>