Javascript 单击按钮时如何聚焦下一个文本字段?
HTML: 我想Javascript 单击按钮时如何聚焦下一个文本字段?,javascript,jquery,html,Javascript,Jquery,Html,HTML: 我想$(这个).next()不起作用。。next()函数是否在每种情况下都不工作 单击按钮时,如何聚焦下一个或上一个文本字段? 帮助我。。谢谢您。在脚本中,您的synatx错误为。每个()都应该有一个函数作为其参数 除此之外,每个循环中都有一个逻辑错误,因为您正在循环中调用focus(),焦点处理程序将被调用,并将更改focus引用的变量,因此下一次迭代也将为true,因此next按钮将不起作用 //focused is getting last focused textfield
$(这个).next()
不起作用。。next()
函数是否在每种情况下都不工作
单击按钮时,如何聚焦下一个或上一个文本字段?
帮助我。。谢谢您。在脚本中,您的synatx错误为
。每个()
都应该有一个函数作为其参数
除此之外,每个循环中都有一个逻辑错误,因为您正在循环中调用focus()
,焦点处理程序将被调用,并将更改focus
引用的变量,因此下一次迭代也将为true,因此next
按钮将不起作用
//focused is getting last focused textfield
var focused = null;
$(".mytextbox").focus(function(){
focused = $(this);
});
//focus next
function focusNext(){
$(".mytextbox").each(
//checking is this textbox focused
if($(this)[0] == focused[0]){
$(this).next().focus();
//or
$(this).next(".mytextbox").focus();
}
);
}
//focus prev
function focusPrev(){
$(".mytextbox").each(
//checking is this textbox focused
if($(this)[0] == focused[0]){
$(this).prev().focus();
//or
$(this).prev(".mytextbox").focus();
}
);
}
演示:假设加载页面时默认聚焦第一个输入字段,请参见下面的代码- HTML:为绑定单击事件的按钮放置
id
s
var focused = null;
$(".mytextbox").focus(function () {
focused = $(this);
});
//focus next
function focusNext() {
if (focused && focused.length) {
focused.next('.mytextbox').focus();
}
}
//focus prev
function focusPrev() {
if (focused && focused.length) {
focused.prev('.mytextbox').focus();
}
}
var focused = null;
$(".mytextbox").focus(function () {
focused = $(this);
});
//focus next
function focusNext() {
if (focused && focused.length) {
focused.next('.mytextbox').focus();
}
}
//focus prev
function focusPrev() {
if (focused && focused.length) {
focused.prev('.mytextbox').focus();
}
}
<input type="text" class="mytextbox">
<input type="text" class="mytextbox">
<input type="text" class="mytextbox">
<input type="text" class="mytextbox">
<input id="nextBtn" type="button" class="mybutton" value="focus next">
<input id="prevBtn" type="button" class="mybutton" value="focus prev">
$(function(){
//focus first input fields
$(".mytextbox:first").focus();
var currentFocusedInput = $(".mytextbox:first");
// next button
$("#nextBtn").click(function(){
var nextInputToFocus = currentFocusedInput.next('.mytextbox');
if($(nextInputToFocus).length > 0)
{
currentFocusedInput = $(nextInputToFocus);
}
$(currentFocusedInput).focus();
});
// previous button
$("#prevBtn").click(function(){
var prevInputToFocus = currentFocusedInput.prev('.mytextbox');
if($(prevInputToFocus).length > 0)
{
currentFocusedInput = $(prevInputToFocus);
}
$(currentFocusedInput).focus();
});
});