Обнаружение браузера — события изменения флажка

Я создаю форму с причудливой интерактивностью, которая зависит от события изменения переключателей. Поскольку ie не запускает это событие до тех пор, пока не будет сфокусирован другой элемент, мне нужно разветвить мой код, но я хочу пойти по пути обнаружения функции, а не маршрута обнаружения браузера.

Глядя на несколько ресурсов (http://api.jquery.com/jQuery.support/, http://kangax.github.com/cft/) Я не могу найти какой-либо реализации для обнаружения глючных событий изменения радио/флажка ie.

Кто-нибудь знает, как я могу его обнаружить?


person wheresrhys    schedule 24.01.2011    source источник


Ответы (1)


По моему опыту, нажмите и keyup — единственное событие, которому можно доверять в этом случае.

(function () {
  $('#yourRadio').bind('click keyup', function () {
    // check value with $(this).val()
  });
}());
person Matt    schedule 24.01.2011
comment
Действительно, чтобы обнаружить изменение, сохраните последнюю выбранную кнопку в некотором глобальном контексте, а затем в событиях click/keyup проверьте, отличается ли исходный элемент, что означает, что это новая выбранная кнопка. - person Shadow Wizard Wearing Mask V2; 24.01.2011
comment
Мне пришлось немного изменить это, так как моя форма скрывает ввод, поэтому щелчок приходится на мои теги ‹label›, но в остальном это работает хорошо. - person wheresrhys; 24.01.2011