次のコードがあるとします。
var inputs = element.querySelectorAll('input[type=radio]');
for (var i = 0; i < inputs.length; ++i) {
inputs[i].addEventListener('mousedown', function(e)
{
alert(1);
console.log(this.checked); // this.checked is always false here
if (!this.checked) {
some_code();
}
});
}
alert() がラジオボタンがアクティブになるのを妨げても大丈夫ですか? それがなくても期待どおりに機能します。
JSFiddle リンク: http://jsfiddle.net/9UGZM/