我有一个包含许多列表视图的MVC项目。我希望在列表视图中的第一个项目上设置焦点,以便用户只需按Enter键即可打开该项目?或使用箭头按钮向上或向下移动列表然后按Enter键。
我已经为数据输入视图做了类似的事情,我专注于第一个文本框或组合框。这是我用于此的代码:
$('.focus :input').focus();
然后在我看来:
<div class="col-md-3 focus">
@Html.DropDownList("CategoryId", null, "Select Category", htmlAttributes: new { @class = "form-control" })
</div>
完美无缺,所以现在我想用我的列表视图来做。这就是我试过的:
$('.focus tr:first').focus();
在我看来:
<tr class="focus">
,不幸的是,这不起作用。所以,我做了一个搜索,我找不到任何MVC的答案,我可以找到Android,metro应用程序等的答案,但MVC没有。
答案 0 :(得分:0)
focus()
旨在处理元素的子集,例如表单输入和锚点。
它不适用于标准标记元素,如表格行或div等。
您可能要做的是在列表项元素
中使用锚点 <li><a href="#">List Item<a></li>
然后将重点放在锚点上$('li a').focus();
答案 1 :(得分:0)
这是我设置第一个元素的方法。我尝试为您的html
修改它。
$('[selector for your dropdown]').focus();
$('[selector for your dropdown]').val($('[selector for your dropdown] option:first').val()).change();