我正在创建一个调查表,需要在用户关注他们时突出显示每个问题和一组答案(通过更改背景颜色). .focus()和.blur()都可以在Firefox和IE中使用,但并不完全在Safari和Chrome中.我也尝试了.focusin()和.focusout()相同的结果.编辑:单击不触发焦点事件,但是通过输入字段标签.我说的不完全是因为它适用于文本输入,选择输入和文本输入;但不是收音机和复选框输入.
$(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>
解决方法
很久以前我也遇到过这个问题,奇怪的是一个单选按钮让我感到悲伤.
尝试使用jQuery.change()
,这是一个从这个问题的一个工作的例子
$("input#zendesk-dropBox-askedbefore,input#zendesk-dropBox-newhere").change(function() { $("label#zendesk-dropBox-label-askedbefore,label#zendesk-dropBox-label-newhere").toggleClass('zendesk-dropBox-label-highlight'); });
如果我不清楚我对ID名称的疯狂使用,请输入#zendesk-dropBox-askbefore&输入#zendesk-dropBox-newhere都是单选按钮.