0
Моя цель перемещения фокуса на следующий элемент ввода, когда кнопка срабатывает mouseup
событие, вот сценарий:Сосредоточьтесь на следующий элемент, нажав на кнопку
var cleared = false;
$(document).ready(function(){
//focus on first element
var focused = null;
$(".inp").focus(function() {
focused = $(this);
}).first().focus();
//when mousedown, set value 4
$("#btn").mousedown(function(e) {
focused.val("4");
}).mouseup(function(e) {
//when mouseup, change bg color
focused.css("background-color","yellow");
//and focus on next element
if (focused && focused.length) {
focused.next(".inp").focus();
}
});
});
Вот мой HTML элемент:
<table>
<tr>
<td>ABC</td>
<td><input class="inp"/></td>
<td><input class="inp"/></td>
<td><input class="inp"/></td>
</tr>
</table>
<button id="btn">4</button>Good
Моя проблема заключается в том, что фокус никогда не устанавливает следующий, как я могу это решить?
Вам нужна 'focus.parent(). Next(). Find ('. Inp'). Focus();' – loveNoHate
@DOCASAREL, wah, проблема решена! Спасибо! но я не знаю логики внутри. – TasteMyBiceps
Поскольку у вас есть ссылка на ввод в 'сфокусированный', вам нужно получить доступ к его родительскому объекту ('
ответ
Working fiddle
Вы не «сразу после собрата» с классом
inp
, поэтому вы должны двигаться вверх один раз к родителюtd
, а затем перейти к следующему тд, используяnext()
Funtion, а затем найти в этом тд классinp
и выполните фокус.Просто замените:
By:
Полного JS:
Надеется, что это помогает.
источник
2015-09-05 15:03:01
попробовать это, чтобы сосредоточиться на следующем элементе
заменяющего следующее в вашем коде
источник
2015-09-05 14:59:34 alamnaryab
Смежные вопросы