Javascript 如何在单击按钮时获取最后一个焦点文本框输入

Javascript 如何在单击按钮时获取最后一个焦点文本框输入,javascript,jquery,focus,Javascript,Jquery,Focus,我试图在按下按钮时获得最后一个焦点元素,但我没有运气。这是我的javascript函数: function input(e) { e = e.charAt(3); $(".textboxclass").each(function(index, value) { $(this).val(); if ($(this).is(':focus')) { $(this).val($(this).val() + e);

我试图在按下按钮时获得最后一个焦点元素,但我没有运气。这是我的javascript函数:

function input(e) {
    e = e.charAt(3);
    $(".textboxclass").each(function(index, value) {
        $(this).val();
        if ($(this).is(':focus')) {
            $(this).val($(this).val() + e);
            $(this).focus();
        }
    });
}
下面的线路不起作用

当我在它工作之前设置警报时


谢谢。

它不起作用的原因是,每次单击按钮时,上次聚焦的文本框都会失去焦点,您需要找到另一种方式来实现您的愿望。我能想到的一种方法是使用一种方法,将元素集中存储到一个全局变量,然后在yout if conditional中使用它。试一试:

    var $focused;

    $(".textboxclass").focus(function(){
        $focused = $(this);
    });

    function test(id) {
        e = id.charAt(3);
        $(".textboxclass").each(function() {
            if ($(this)[0] == $focused[0]) {
                $(this).val($(this).val() + e);
                $(this).focus();
            } else {
                console.log("NOT focused");
            }
        });
    }

提供调用函数input的HTML。我们需要知道如何调用此函数以及如何传递e变量为什么在IF条件的第一行下有$this.val?它没有做任何事情$this.val没有用我不明白为什么没有HTML部分的代码就不能工作,但是有一些例子,如何找到重点元素谢谢much@Ninjin这对你有用吗?让我知道
    var $focused;

    $(".textboxclass").focus(function(){
        $focused = $(this);
    });

    function test(id) {
        e = id.charAt(3);
        $(".textboxclass").each(function() {
            if ($(this)[0] == $focused[0]) {
                $(this).val($(this).val() + e);
                $(this).focus();
            } else {
                console.log("NOT focused");
            }
        });
    }