我知道有几个条目已经在处理这类问题,我也看过不少,但似乎没有一个适合我的情况。对此的任何帮助将不胜感激。
我所拥有的是一个动态生成的表单(可以有不同数量的输入)。我需要使用我的回车键来浏览它们。目前标签键标签通过元素很好,但我的标准要求我启用输入键。当我到达最终输入并按下回车键时,它需要执行当前通过 a 标签完成的提交操作
下面是我的 HTML 表单以及处理按键事件的 JS 的代码片段
<div class="credential_form">
<div class="error_msg">
<h4>There was a problem connecting.</h4>
</div>
<div class="credential_inputs">
<div class="txt_wrapper">
<input type="text" style="width: 130px">
</div>
<div class="txt_wrapper">
<input type="password" style="width: 130px; display: none;" class="real">
</div>
<div class="clear"></div>
</div>
<div class="add_button">
<a class="button" href="javascript:void(0)"><span>Add</span></a>
</div>
<div class="clear"></div>
<div class="sub_input">
<div class="link">
<span class="sub_text">Forget your details? Go to </span>
<a class="sub_link" href="http:somewhere.com">Somewhere</a>
</div>
</div>
</div>
由于某种原因,我的集合变量无法识别 if 条件中的当前元素。
var code = (event.keyCode ? event.keyCode : event.which);
if (code == 13) {
var $inputs = $(event.target).closest('.credential_inputs').children($(':input:visible'));
var $addButton = $(event.target).closest('.credential_form').children($('a:first-child'));
if ( $(event.target) == $inputs[$inputs.length - 1] ) {
$addButton.click()
} else {
$(event.target).closest(".credential_inputs").nextAll('input:first').focus();
}
}
谢谢