使用 jquery 离开另一个输入时移动到特定的选项卡索引

Move to a specific tab index when leaving another input with jquery

我有一个动态生成的页面,所有的 tabindex 都是预设的。我想要做的是在另一个输入失去焦点时将焦点设置为特定的 tabindex。例如,如果我有 <input tabindex=119>,另一个有 <input tabindex=16>,当 119 失去焦点时,我怎样才能到达 tabindex=16?我试过了

$(zip).keydown(function(event) {
            if (event.which == 9) {
                event.preventDefault();
                //$('#DublinTheme_wt213_block_wtMainContent_WebPatterns_wt50_block_wtPanelContent_WebPatterns_wt191_block_wtColumn1_wtVendors_EmailAddress').focus();
                $('input').find("[tabindex=16]").focus();
            }
        });

其中 zip 是 tabindex = 119 的输入字段 ID。这对我没有任何作用。我也尝试过将焦点设置为我想要的输入的 id: $('#DublinTheme_wt213_block_wtMainContent_WebPatterns_wt50_block_wtPanelContent_WebPatterns_wt191_block_wtColumn1_wtVendors_EmailAddress').focus(); 代替 $('input').find("[tabindex=16]").focus(); 同样,这并没有将焦点放在正确的输入上。

如有任何帮助,我们将不胜感激。

您不应该将 Outsystems 生成的 ID 硬编码到您的脚本中。创建一个新表达式,如下例所示。 blur 事件将在元素失去焦点时执行。

显然用您输入的名称替换 yourOutsystemsTabIndex199ElementyourOutsystemsTabIndex16Element

同时设置表达式,使其不对内容进行转义。

"<script>
$(document).ready(function(){
  $('#" + yourOutsystemsTabIndex199Element.id + "').on('blur', function(){
    $('#" + yourOutsystemsTabIndex16Element.id + "').focus();
  });
});
</script>"