javascript - 使用 jquery 将键盘焦点设置为具有类 "active"的项目

标签 javascript jquery asp.net-mvc twitter-bootstrap

我遇到的问题是我正在尝试使用 jQuery 将键盘焦点分配给 Bootstrap “事件”类。目标是允许从下拉菜单中进行选择的辅助功能用户直接转到所选项目,并跳过其余部分。

jQuery:

  $(document).ready(function () {
    $('span').find('.active').focus
});

HTML:

  <div class="col-xs-12 ApplicationSubtabs" style="height:auto">
                <span class="Subtab NoteTab" style="z-index:2;height:auto;">
                    <span id="NotesBtn">Notes</span>
                </span>
                <span class="Subtab DetailTab">
                    <span id="InfoBtn" class="subTabAction">Details</span>
                    <span id="DurationBtn" class="subTabAction">Duration</span>
                    <span id="POCList" class="subTabAction">Points of Contact</span>

                    @if (Model.AdditionalLocations.Count > 1)
                    {
                        <span id="AdditionalLocationsBtn" class="subTabAction">Additional Locations</span>
                    }

                </span>
                <span class="Subtab RequirementTab" style="z-index:2;height:auto;">
                    <span id="EligiblePrograms" class="subTabAction"> Eligible Programs</span>
                    <span id="RateInfo" class="subTabAction">Tuition Rate Info</span>
                    <span id="CurrentRates" class="subTabAction">Institution Tuition Rates</span>
                    <span id="CurrentInstitutionFees" class="subTabAction">Institution Fees</span>
                    <span id="CurrentOtherExpensesPolicy" class="subTabAction">Other Expenses/Policy</span>
                    <span id="CurrentProgramRates" class="subTabAction" @if (!Model.HasProgrammaticRatesCurrent) { @Html.Raw("style='display:none'")  }>Program-Specific Tuition Rates</span>
                </span>
                @if (Model.CurrentInstitutionTuitionRateHeaderId > 0)
                {
                    <span class="Subtab AnnualRequirementTab subTabAction" style="z-index:2;height:auto;">
                        <span id="AnnualEligiblePrograms" class="subTabAction"> Eligible Programs</span>
                        <span id="AnnualRateInfo" class="subTabAction">Tuition Rate Info</span>
                        <span id="AnnualInstitutionRates" class="subTabAction">Institution Tuition Rates</span>
                        <span id="AnnualInstitutionFees" class="subTabAction">Institution Fees</span>
                        <span id="AnnualOtherExpensesPolicy" class="subTabAction">Other Expenses/Policy</span>
                        <span id="AnnualProgrampecificRates" class="subTabAction" @if (!Model.HasProgrammaticRatesAnnual) { @Html.Raw("style='display:none'")  }>Program-Specific Tuition Rates</span>
                    </span>
                }
            </div>

最佳答案

find() 应该将类作为选择器,而不是像标签元素那样active,并且您也不调用 focus() 在第一行。试试这个:

 $(document).ready(function () {
    $('span').find('.active').focus();
});

另外,$(this('id'))是错误的,它应该看起来像$(this)$(this).attr( 'id'),但在这种情况下,我认为不需要使用 $(this)

更新:

对于点击事件处理程序,您可以使用:

$('.subTabAction').on('click', function(){
     $(this).find('.active').focus();
});

关于javascript - 使用 jquery 将键盘焦点设置为具有类 "active"的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41466486/

相关文章:

javascript - 为什么下划线的 _.isUndefined(variable) 给出变量未定义的错误?

javascript - jQuery ajax 失败总是触发(即使成功)

javascript - HTML、jQuery、CSS - Width() 在页面加载时返回整个页面宽度而不是 div?

asp.net - reCaptcha 验证超时异常

asp.net-mvc - DTO 如何适应 MVC 应用程序的存储库+服务模式?

javascript - 如何以 Express 方式重定向发送到外部资源的请求?

javascript - jQuery - 添加/替换事件监听器(当事件处理程序未知时)

php - 如何使用 jquery ajax 将 php 关联数组附加到 html

javascript - 无法过滤 HTML 字符串中的 HTML 标记

c# - 我的 Web 应用程序正在重定向到安全,我无法阻止它