I am creating a survey form that needs to have each question and set of answers highlighted (by changing the background color) when the user focuses on them. .focus() and .blur() both work in Firefox and IE, but not entirely in Safari and Chrome. I also tried .focusin() and .focusout() with the same results. EDIT: Clicking does not fire the focus event, but tabbing through the input fields does. I say not entirely because it works for text inputs, select inputs and textarea inputs; but not radio and checkbox inputs.
$(document).ready(function()
{
$(form li).focusin(function()
{
$(this).addClass(over);
}).focusout(function()
{
$(this).removeClass(over);
});
});
This is being applied to blocks of html similar to this:
<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>
I tried messing around with toggles, but I am looking for a more elegant solution that doesn't involve using convoluted logic to make it work. Any ideas?