Переопределить флажок в JavaScript с помощью jQuery
Помогите с модульным тестированием поведения флажка. У меня есть эта страница:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function() {
$('<div><input type="checkbox" name="makeHidden" id="makeHidden" checked="checked" />Make Hidden</div>').appendTo('body');
$('<div id="displayer" style="display:none;">Was Hidden</div>').appendTo('body');
$('#makeHidden').click(function() {
var isChecked = $(this).is(':checked');
if (isChecked) {
$('#displayer').hide();
}
else {
$('#displayer').show();
}
return false;
});
});
</script>
</head>
<body>
</body>
</html>
Это не работает, это из-заreturn false;
в обработчике кликов. Если я удаляю это, это прекрасно работает. Проблема в том, что, если я вытащу функцию щелчка в ее собственную функцию и протестирую ее с помощью qunit, она не будет работать безreturn false;
[РЕДАКТИРОВАТЬ] Используя ответ @ patrick, мои результаты:
Fire Fox:
Ручная проверка игрушки - хорошо.Модульные тесты - хорошо.Ручная проверка производственного приложения - хорошо.Internet Explorer:
Ручная проверка игрушки - провал.Модульные тесты - хорошо.Ручная проверка производственного приложения - провал.Internet Explorer требует изначально, одним щелчком мыши. после этого требуется два клика.
Я думал, что JQuery абстрагировать браузеры?
Я собираюсь переопределить все поведение флажка для решения?
В моих модульных тестах я выполняю симуляцию флажка пользователя:
$(':input[name=shipToNotActive]').removeAttr('checked');
$('#shipToNotActive').change();
а также:
$(':input[name=shipToNotActive]').attr('checked', 'checked');
$('#shipToNotActive').change();