Флажок внутри поведения щелчка якоря
Рассмотрим следующий фрагмент:
<!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>
и получите следующее поведение при нажатии:
a href
Также я не хочу отменять поведение по умолчанию, если я нажимаю в любом местеa
, но не на флажок. То есть Я хочу разрешить выполнение всех обработчиков событий, связанных сa
щелкни сам.
Я думал, что это должно быть довольно легко, но я не могу получить желаемое поведение. Или:
Я буду перенаправлен в Google, если введу указанный код.Я не получаю галочку, если я используюe.preventDefault()
изreturn false;
, Кроме того, в этом случае флажок игнорирует явноеcheckbox.attr('checked', 'checked')
и все другие возможные способы установить галочку.Где подвох?
UPD: Это работает, как и ожидалось в Chrome, например Я не перенаправлен на клик, но в Firefox происходит сбой. Есть ли кросс-браузерный способ?