单击按钮时如何获取最后一个聚焦的文本框输入
How to get the last focused textbox input when clicking button
我试图在按下按钮时获得最后一个聚焦的元素,但我没有运气。这是我的 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();
}
});
}
并且下一行不有效
$(this).is(':focus')
当我在它起作用之前设置 alert() 时。
谢谢。
它不起作用的原因是因为每次单击按钮时,您最后获得焦点的文本框都会失去焦点,您需要找到另一种方法来做您想要的事情。我能想到的一种方法是使用一种方法,将聚焦到全局变量的元素存储起来,然后在 if
条件中使用它。试试看:
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");
}
});
}
我试图在按下按钮时获得最后一个聚焦的元素,但我没有运气。这是我的 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();
}
});
}
并且下一行不有效
$(this).is(':focus')
当我在它起作用之前设置 alert() 时。
谢谢。
它不起作用的原因是因为每次单击按钮时,您最后获得焦点的文本框都会失去焦点,您需要找到另一种方法来做您想要的事情。我能想到的一种方法是使用一种方法,将聚焦到全局变量的元素存储起来,然后在 if
条件中使用它。试试看:
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");
}
});
}