Единственное, что делает код, это привязывает функции к событиям 'disable' & 'enable'
Когда происходит событие «отключить», он добавляет класс jquery-checkbox-disabled
во внутренний диапазон. Он удаляет его по событию enable.
<input name="checkbox.1.2" type="checkbox" id="check" checked="" style="position: absolute; z-index: -1; visibility: hidden; " disabled="disabled">
<span class="jquery-checkbox jquery-checkbox-checked">
<span class="mark jquery-checkbox-disabled">
<img src="empty.png">
</span>
</span>
Как вы можете видеть, флажок отключается, но элементы, которые предоставляют вам этот внешний вид, являются просто обычными интервалами, которые по-прежнему кликабельны.
Похоже, что Дмитрий передает события кликов этих промежутков в скрытый флажок.
a.wrapper.click(function(e) {
b.trigger('click', [e]);
i(e);
return false
});
Вот почему вы все еще получаете события щелчка флажка, даже если он отключен. Флажок выбирается программно.
Так что, если ваша проблема заключается в том, что вы пытаетесь определить, когда флажок изменился, то я рекомендую вам использовать событие change, так как оно, похоже, не имеет той же проблемы.
http://jsfiddle.net/vW6gj/