Я создаю форму опроса, в которой должен быть задан каждый вопрос и набор ответов (путем изменения цвета фона), когда пользователь фокусируется на них..focus() и .blur() работают как в Firefox, так и в IE, но не полностью в Safari и Chrome. Я также пробовал .focusin() и .focusout() с теми же результатами. EDIT: нажатие не запускает событие фокуса, но табуляция через поля ввода делает. Я говорю не полностью, потому что он работает для ввода текста, выбирает входные и текстовые входы; но не радио и флажки.
$(document).ready(function()
{
$("form li").focusin(function()
{
$(this).addClass("over");
}).focusout(function()
{
$(this).removeClass("over");
});
});
Это применяется к блокам html, подобным этому:
<li>
<label for="webmail" class="desc">Email</label>
<input type="text" name="webmail" id="webmail" />
</li>
<li>
<label for="business" class="desc">Purpose of your Charter Flight:</label>
<div>
<span>
<input type="radio" name="purpose" id="business" class="radio" />
<label class="choice" for="business">Business</label>
</span>
<span>
<input type="radio" name="purpose" id="pleasure" class="radio" />
<label class="choice" for="pleasure">Pleasure</label>
</span>
</div>
</li>
Я пытался возиться с переключателями, но я ищу более элегантное решение, которое не предполагает использование запутанной логики, чтобы заставить ее работать. Любые идеи?