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

标签 javascript webkit jquery

我正在创建一个调查表,当用户关注每个问题和一组答案时,它需要突出显示(通过更改背景颜色)。 .focus() 和 .blur() 都适用于 Firefox 和 IE,但不完全适用于 Safari 和 Chrome。我还尝试了 .focusin() 和 .focusout(),结果相同。 编辑:点击不会触发焦点事件,但在输入字段中切换会触发焦点事件。我说不完全是因为它适用于文本输入、选择输入和文本区域输入;但不是单选和复选框输入。

$(document).ready(function()
 {
    $("form li").focusin(function()
  {
   $(this).addClass("over");
  }).focusout(function()
  {
     $(this).removeClass("over");
  });
 });

这被应用于与此类似的 html block :

<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 名称的疯狂使用还不清楚,input#zendesk-dropbox-askedbeforeinput#zendesk-dropbox-newhere 都是单选按钮。

关于javascript - jQuery .focus() 和 .blur() 在 Chrome 或 Safari 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3348355/

相关文章:

php - 使用ajax获取模拟值

javascript - 页面完全重新渲染事件?

javascript - bpopup onClose 回调事件不起作用

javascript - 同一页面上的 Jquery 和 Captcha 无法正常工作

javascript - Testcafe 更容易检查页面上是否存在类选择器

javascript - 用 Javascript 写一个包装器对象

javascript - 使用 href 执行函数

javascript - PhantomJS 和 pjscrape - 在某些多个 URL 上失败

javascript - 如何控制 Android Web 浏览器中 html 输入控件周围的橙色突出显示?

javascript - 在垂直滚动条上隐藏/显示导航