问题
I have a project that requires some values to get updated with JavaScript from an HTML radio change event.
For some reason in IE, it seems that the onchange event isn't called until the radio has lost focus. Unfortunately due to the way the code is setup, I can't use the click event and have to use the change event.
Does anyone know of a way to force IE to raise the change event as soon as the check is changed rather than when it looses focus?
Thanks.
回答1:
Just to add, you can force IE to trigger the onChange
event using the onClick
event, so if you are allowed use the onClick
event to trigger the change event, this should do it:
<input type="radio" onclick="this.blur();"/>
回答2:
I had the same exact issue. The only options I found were:
Use a js framework that consolidates all of the browser to browser idiosyncrasies (you're going to want to do this, trust me. Have you tested your page in Safari yet?)
If you need the event to trigger but don't want to use
onclick
, useonfocus
oronblur
. If you useonblur
for the OTHER radios, it is almost identical.
来源:https://stackoverflow.com/questions/1498987/ie-html-radio-change-event