Если вы установите пробел на флажке, он проверяет флажок. Все было в порядке, пока я не решил отключить событие click на родительском div, что, как я понял, также отключил пробел на флажке!Пробел запускает событие щелчка на флажке?
div1.addEventListener("click",function (e) {
if (e.preventDefault) e.preventDefault();
e.cancelBubble = true;
return false;
}, true);
<div id="div1">
<input id="chk1" type="checkbox">
</div>
http://jsfiddle.net/0t01252x/1/
Как я могу предотвратить это? Мне кажется очень странным поведением. Нажмите кнопку события события, а не событие клавиатуры ...
Примечания: протестировано с хромом и FF
Edit: худший: outputing события в консоли дает ... MouseEvent!
что такое поведение, которое вы ищете? – jmore009
Я с тобой здесь, я бы этого не ожидал. Возможно, разработчики браузеров подумали, что это хорошая идея? Например, когда они изменили код ключа '[enter]' в крайнем правом углу клавиатуры так же, как тот, что находится рядом с центром. – Halcyon
@ jmore009, события клавиатуры не должны быть отключены, события только щелчка – Sebas