我的javascript中有以下代码。我希望在用户检查单选按钮时发生警报,而是在页面加载时发生,并且在单选按钮被检查时发生NOTHING。为什么呢?
var myRadioButton = document.getElementById("myRadioButton");
myRadioButton.onchange=alert("Checked!");
单选按钮未选中。在HTML中它看起来像这样:
<div class="myRadioButton"><input type="radio" id="myRadioButton" name="radioButtons" /> This is my radio button
</div>
为什么javascript会在页面加载时认为发生了onchange事件?当我实际检查单选按钮时,为什么不识别出变化呢?
事实上,无论我在“onchange”中使用什么元素,都会在页面加载时弹出警报,而根本不需要任何用户交互。我误解了“onchange”是如何运作的吗?
答案 0 :(得分:4)
你的意思是
myradiobutton.onchange = function() { alert('Checked'); };
您所做的将执行 alert
- 函数,并将该函数的返回值指定为onchange
事件的事件处理程序(执行时无效)
答案 1 :(得分:2)
试
<script>
var myRadioButton = document.getElementById("myRadioButton");
myRadioButton.onchange = function () { alert("Checked!") };
</script>
答案 2 :(得分:0)
在您的代码中
myradiobutton.onchange = alert('Checked')
您实际上调用了alert函数,并将其返回值指定为事件处理程序。