微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – jQuery .focus()和.blur()在Chrome或Safari中不起作用

我正在创建一个调查表,需要在用户关注他们时突出显示每个问题和一组答案(通过更改背景颜色). .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都是单选按钮.

原文地址:https://www.jb51.cc/jquery/152353.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐