вот более простой для понимая вариант
<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script src="my.js"></script>
</head>
<body>
<input type="radio" class="radio" name="group">
<input type="radio" class="radio" name="group">
<script type="text/javascript">
$('.radio').bind({
'mouseup': function(){
$(this).data('prv-checked', this.checked);
},
'click': function(){
this.checked = ! $(this).data('prv-checked');
}
});
</script>
</body>
</html>
а вот вариант
рони до минимизации
<!doctype html>
<html>
<body>
<input type="radio" class="radio" name="group">
<input type="radio" class="radio" name="group">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script type="text/javascript">
var prvEl, prvChecked;
$('.radio').click(function(){
if (prvEl != this) {
prvChecked = false;
prvEl = this;
}
this.checked = ! prvChecked;
prvChecked = ! prvChecked;
});
</script>
</body>
</html>
а для тех, кого интересует практическая сторона задачи, стоит подумать над
вопросом, который задал Артемий Лебедев Сергею Чикуенку: "Как пользователь поймет, что оно
так работает?"