Флажок внутри поведения щелчка якоря

Рассмотрим следующий фрагмент:

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
    </head>
    <body>
        <form>
            <a id="a" href="http://google.com">Goooooogle</a>
        </form>
        <script>
            $(function() {
                var checkbox = $('<input type="checkbox"></input>');
                checkbox.prependTo($('#a'));
                checkbox.click(function(e) {
                    e.stopPropagation();
                    // do something useful
                });
            });
        </script>
    </body>
</html>

Я хочу получить флажок внутри<a>и получите следующее поведение при нажатии:

Поставьте галочку как обычноСделайте что-нибудь полезное, например, AJAX-запросОставайтесь на этой странице, т.е. не будете перенаправлены наa href

Также я не хочу отменять поведение по умолчанию, если я нажимаю в любом местеa, но не на флажок. То есть Я хочу разрешить выполнение всех обработчиков событий, связанных сa щелкни сам.

Я думал, что это должно быть довольно легко, но я не могу получить желаемое поведение. Или:

Я буду перенаправлен в Google, если введу указанный код.Я не получаю галочку, если я используюe.preventDefault() изreturn false;, Кроме того, в этом случае флажок игнорирует явноеcheckbox.attr('checked', 'checked') и все другие возможные способы установить галочку.

Где подвох?

UPD: Это работает, как и ожидалось в Chrome, например Я не перенаправлен на клик, но в Firefox происходит сбой. Есть ли кросс-браузерный способ?

Ответы на вопрос(4)

Ваш ответ на вопрос