親div内にいくつかの要素checkbox、img、および別のdivがあります。親divをクリックすると、3つの要素すべてが背景色で選択されます。これはhtmlがどのように見えるかです:
<div class="jfmfs-friend" id="812290706"><input class="friend-checkbox" type="checkbox"><img src="//graph.facebook.com/picture"><div class="friend-name">Test user</div></div>
親のdiv選択内でチェックボックスをオンまたはオフにします
elem.delegate(".jfmfs-friend", 'click', function(event) {
$(this).find('input').attr('checked', !$(this).find('input').attr('checked'));
});
すべてが正常に機能します。ただし、問題は、チェックボックスのみをクリックすると、上記の機能が実行され、チェックボックスのチェックが外れることです。チェックボックスはオフになっていますが、親div全体が選択されています。
チェックボックスがクリックされた場合、この行を実行しないようにするにはどうすればよいですか?
$(this).find('input').attr('checked', !$(this).find('input').attr('checked'));