Я пишу свой собственный код для решения этой проблемы. Это будет работать так У меня не было этого кода сейчас, но я пишу так же здесь, на SO.
<div class="checkbox-wrapper">
<input type="checkbox" name="value"/>
<img src="img/blah.png"/>
</div>
В css мы уберем этот флажок, сделав его Z-индекс меньше, чем изображение, которое я поместил внутри этого кода оболочки. В конечном итоге, когда кто-то нажимает на изображение, оно выглядит как флажок, и в реальном флажке будет нажата. вместо display:none
лучше использовать opacity:
0. Это сломается в IE6, но нас это не волнует, потому что я больше не поддерживаю IE6.
В Javascript Вы можете написать событие, если вы хотите другую (но похожую на мою) реализацию. Вы можете заменить собственный Html Checkbox, Radio и выбрать (лучше выбрать select2, если вы используете загрузчик Twitter) своими собственными элементами управления на основе тем.