У меня есть следующий HTML:
<ul id=list>
<li>
<input type=checkbox />
Item 1
</li>
<li>
<input type=checkbox />
Item 2
</li>
<li>
<input type=checkbox />
Item 3
</li>
</ul>
и соответствующий ему Javascript:
$('ul').bind('click', function(e) {
if (e.srcElement.tagName.toLowerCase() === 'input') {
e.srcElement.checked = true;
}
return false;
});
$('body').bind('click', function() {
alert('you should see this alert if and only if you did NOT click the list');
})
Когда я нажимаю флажок, он не проверяется.Я хочу, чтобы он был проверен, когда пользователь щелкает по нему.
Как мне сделать так, чтобы флажок был установлен, когда пользователь щелкает по нему, но все равно отменять обработчик события body
click?
Я также установил JS-скрипку .
Редактировать: Я понимаю, что код немного неуклюжий, но ему нужнобыть структурированным таким образом для приложения, поэтому решения должны быть максимально приближены к оригиналу.При этом объяснения наблюдаемого поведения приветствуются.