Blazor服务器应用程序:为什么在带有嵌入式Input标签的HTML表中输入后按Tab键会在下一个单元格中显示?
创始人
2024-12-21 08:00:08
0

此问题的解决方法是在Input标记中添加一个@onkeydown事件,并检查按下的键是否是Tab键。如果是,调用JSRuntime.InvokeVoidAsync方法来阻止默认的Tab行为,并通过JSRuntime.InvokeVoidAsync方法来focus下一个单元格中的Input标记。 代码示例:

@foreach (var item in items)
{
    
        
        
    
}

@code {
    async Task HandleKeyDown(KeyboardEventArgs e, int itemId)
    {
        if (e.Key == "Tab")
        {
            await JSRuntime.InvokeVoidAsync("preventDefaultTab", itemId);
            await JSRuntime.InvokeVoidAsync("focusNextInput", itemId);
        }
    }
}

JavaScript代码示例:

window.preventDefaultTab = (itemId) => {
    document.getElementById(itemId).addEventListener("keydown", function (event) {
        if (event.key === "Tab") {
            event.preventDefault();
        }
    });
};

window.focusNextInput = (itemId) => {
    var inputs = Array.from(document.querySelectorAll(`input[id^="${itemId}_"]`));

    if (inputs.length > 0) {
        var nextInput = inputs.find(input => !input.value);
        if (!nextInput) {
            nextInput = inputs[inputs.length - 1];
        }
        nextInput.focus();
    }
};

相关内容

热门资讯

三分钟了解!wepoker俱乐... 三分钟了解!wepoker俱乐部辅助,广西老友玩有破解视频,教你教程(有人有挂)-哔哩哔哩亲,关键说...
关于!wpk透视挂,德普软件,... 关于!wpk透视挂,德普软件,透视教程(有人有挂)-哔哩哔哩1、首先打开德普软件最新版本,在德普软件...
一分钟了解!wepoker轻量... 一分钟了解!wepoker轻量版透视方法,手游字牌辅助脚本工具,新2025教程(有挂讲解)-哔哩哔哩...
热门推荐!拱趴大菠萝可以开挂,... 热门推荐!拱趴大菠萝可以开挂,九九联盟解码器,规律教程(有挂详细)-哔哩哔哩拱趴大菠萝可以开挂辅助器...
玩家必备教程!wepoker可... 玩家必备教程!wepoker可以看底牌,丫丫衡阳字牌2辅助,2025新版教程(讲解有挂)-哔哩哔哩1...
我来教大家!hhpoker德州... 我来教大家!hhpoker德州透视挂,花舍辅助,揭秘攻略(有挂神器)-哔哩哔哩hhpoker德州透视...
分享开挂内幕!pokemmo辅... 分享开挂内幕!pokemmo辅助工具,广西老友玩老师输可以版,透牌教程(有挂透视)-哔哩哔哩1、很好...
攻略讲解!we poker插件... 攻略讲解!we poker插件,wejoker手机版透视脚本,2025新版技巧(有挂方略)-哔哩哔哩...
让我来分享经验!德州之星扫描器... 让我来分享经验!德州之星扫描器,阿拉游戏中心辅助挂教程,曝光教程(有挂辅助)-哔哩哔哩1、阿拉游戏中...
总算了解!德普辅助软件,微乐贵... 总算了解!德普辅助软件,微乐贵阳捉鸡麻将能不能开挂,德州教程(有挂方针)-哔哩哔哩微乐贵阳捉鸡麻将能...