Ben tıklama olayında bazı Ajax eylemi gerçekleştirmek istiyorum bir onay kutusu var, ancak onay kutusu da onay kutusu tıklatıldığında çalıştırmak istemiyorum kendi tıklama davranışı olan bir kapsayıcı içinde. Bu örnek ne yapmak istediğimi göstermektedir:
$(document).ready(function() {
$('#container').addClass('hidden');
$('#header').click(function() {
if ($('#container').hasClass('hidden')) {
$('#container').removeClass('hidden');
} else {
$('#container').addClass('hidden');
}
});
$('#header input[type=checkbox]').click(function(event) {
// Do something
});
});
#container.hidden #body {
display: none;
}
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<div id="container">
<div id="header">
<h1>Title</h1>
<input type="checkbox" name="test" />
</div>
<div id="body">
<p>Some content</p>
</div>
</div>
Ancak, varsayılan tıklama davranışının (onay kutusu işaretli / işaretli değil) çalışmasına neden olmadan olay köpürmeyi nasıl durduracağımı anlayamıyorum.
Aşağıdakilerin her ikisi de olayın köpürmesini durdurur, ancak onay kutusu durumunu değiştirmez:
event.preventDefault();
return false;