gpt4 book ai didi

javascript - 使用 jQuery 选择焦点上的文本框在移动浏览器中不起作用

转载 作者:行者123 更新时间:2023-11-28 03:39:59 25 4
gpt4 key购买 nike

我在一个页面上有四个最大长度为 4 的文本框。我的目标是当用户填写第一个文本框时,焦点会自动移动到另一个文本框。我写的方法在所有网络浏览器中都可以正常工作,但在移动浏览器中却不行。

我正在使用的标记:

<input tabindex="3" type="text" id="cnumber1" class="inputBx ccNumber" style="width:57px;margin-left: 11px!important" maxlength="4" size="4" autocomplete="off" />
<input tabindex="4" type="text" id="cnumber2" class="ccNumber" style="width:57px;" maxlength="4" size="4" autocomplete="off"/>
<input tabindex="5" type="text" id="cnumber3" class="ccNumber" style="width:56px;" maxlength="4" size="4" autocomplete="off"/>
<input tabindex="6" type="text" id="cnumber4" class="ccNumber" style="width:56px;" maxlength="4" size="4" autocomplete="off"/>

我正在使用的 Jquery 方法:

(function($) {
$.switchFocus = function($this) {
$this.unbind('keyup');
$this.each(function() {
$(this).keyup(function(){
var $this = $(this),
inputVal = $this.val(),
iLen = inputVal.length,
$nextEle = $this.next();
if (iLen == $this.attr("size") && $nextEle.length > 0){
if($nextEle.val().length === 0)
$nextEle.focus();
}
});
});
}
}(jQuery));

我能否就移动浏览器发生这种情况的原因寻求帮助?

最佳答案

肯定是某些手机浏览器的bug,不过这个方法应该可以解决你的问题,试试吧,

(function($) {
$.switchFocus = function($this) {
$this.unbind('keyup');
$this.each(function() {
$(this).keyup(function(){
var $this = $(this),
inputVal = $this.val(),
iLen = inputVal.length,
$nextEle = $this.next();
if (iLen == $this.attr("size") && $nextEle.length > 0){
if($nextEle.val().length === 0)
$nextEle.focus();
setTimeout(function(){$nextEle.focus()},0);
}
});
});
}
}(jQuery));

DEMO

关于javascript - 使用 jQuery 选择焦点上的文本框在移动浏览器中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11741303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com