简体   繁体   English

为什么当我的页面加载而不是单击我的单选按钮时触发我的 onchange 事件?

[英]Why does is my onchange event triggered when my page loads instead of when I click my radio button?

I have the following code in my Javascript.我的 Javascript 中有以下代码。 I'd like the alert to happen when a user checks the radio button, but instead it happens when the page loads, and NOTHING happens when the radio button gets checked.我希望警报在用户选中单选按钮时发生,但在页面加载时发生,而在单选按钮被选中时没有发生任何事情。 Why?为什么?

var myRadioButton = document.getElementById("myRadioButton");
myRadioButton.onchange=alert("Checked!");

The radio button starts off unchecked.单选按钮开始时未选中。 In the HTML it looks like this:在 HTML 中,它看起来像这样:

<div class="myRadioButton"><input type="radio" id="myRadioButton" name="radioButtons"  />&nbsp; This is my radio button 
</div>

Why on earth would the Javascript think an onchange event has occurred when the page loads?为什么 Javascript 会认为页面加载时发生了onchange事件? And why doesn't it recognize a change when I actually check the radio button?为什么当我实际检查单选按钮时它不识别更改?

In fact, whatever element I use with onchange makes the alert pop up when the page loads, without any user interaction at all.事实上,我在onchange使用的任何元素都会在页面加载时弹出警报,根本不需要任何用户交互。 Am I misunderstanding how onchange works?我误解了onchange工作原理吗?

What you mean to do is你的意思是

myradiobutton.onchange = function() { alert('Checked'); };

What you did will execute the alert -function and assign the return value of that function as an event handler to the onchange event (which will do nothing when executed)您所做的将执行alert函数并将该函数的返回值作为事件处理程序分配给onchange事件(执行时将不执行任何操作)

try尝试

<script>
    var myRadioButton = document.getElementById("myRadioButton");

    myRadioButton.onchange = function () { alert("Checked!") };
</script>

In your code在你的代码中

myradiobutton.onchange = alert('Checked')

You actually called alert function, and assigned its return value as event handler.您实际上调用了警报函数,并将其返回值指定为事件处理程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我的onclick事件是在页面加载时执行的,而不是在单击按钮时执行的,我不知道为什么 - My onclick event performs when the page loads instead of when the button is clicked, and i don't know why <button>当我按下 Enter 时,</button>为什么会触发“click”事件<button>?</button> - Why does a `click` event get triggered on my <button> when I press Enter on it? 为什么在按下其他单选按钮时触发单选按钮事件? - Why does my radio button event trigger when a different radio button is pressed? 为什么我的onchange事件在页面加载时发生,而不是在触发时发生? - Why is my onchange event happening at page load, not when even triggers? 为什么在没有单击按钮的情况下加载页面时会触发我的脚本功能? - Why is my script function being fired when the page loads without a button click? 为什么我的 onclick 按钮在页面加载时调用 function? - Why is my onclick button is calling a function when the page loads? 为什么单击按钮时按钮的样式会发生变化? - Why does my button's style change when I click on it? 当我点击按钮时,它什么也没做 - My button does nothing when i click on it 为什么不触发我的按钮单击事件? - Why isn't my button click event being triggered? 为什么每次加载页面而不是 onchange 时我的窗口滚动功能都会启动? - Why does my window scroll function fire up everytime i load page instead of onchange?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM