javascript - 返回对具有相同类别的输入的模糊的关注

标签 javascript jquery

我在一页上有许多输入,它们具有相同的类并且没有 ID。
附加到类选择器的绑定(bind)事件,用于在条件为 true 时返回焦点。

但是当单击另一个输入时,焦点不会返回。
然后想想,因为在另一个元素中工作模糊,但不知道如何解决这个问题。

<input class="test" value="">
<input class="test" value="">

$(document).ready(function(){
      if (condition) {
    // return focus - not work
    $(".test").blur(function(){
        setTimeout(function() {
        $(this).focus();
        }, 100);
    });
   }
});

最佳答案

这里有两个问题。

首先,一旦 setTimeout 函数执行,this 现在是 window 对象,而不是输入之一。将原始 this 的引用存储为模糊处理程序的一部分。

其次,应移动条件检查。就目前情况而言,一旦模糊输入框,您实际上将被迫永远不会离开输入框,因为模糊处理程序已附加并且总是重新聚焦。我不知道您的条件是什么,所以我将把它放在setTimeout回调中。它也可以在 setTimeout 创建之前进行。

<强> Here's a verbose demo fiddle of an assumed implementation 。下面是一个淡化的示例:

<input class="test" value="">
<input class="test" value="">

$(document).ready(function(){
    // return focus - not work
    $(".test").blur(function(){
        var that = this;
        setTimeout(function() {
          if (condition) {
            $(that).focus();
          }
        }, 100);
    });
});

关于javascript - 返回对具有相同类别的输入的模糊的关注,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638128/

相关文章:

javascript - 使元素与前一个元素的最后一行保持内联

javascript - 国际电话输入问题

javascript - jquery轮播不显示在浏览器上,但显示在dreamweaver上

jquery - 使绝对定位的 div 在悬停时可见且可导航

Javascript/Jquery : get 'display' css style for DOM element that wasn't appended to web page

javascript - jQuery fadeIn 在不同页面上使用不同的图像

javascript - 使用 Javascript 添加几行 HTML 到页面

javascript - 多个 Accordion 均默认打开选项卡

javascript - 滑动内容脚本

javascript - 从 CSV 输入创建 Google 图表