我有一系列<input>
元素和一个相应的脚本,可以在输入后自动聚焦下一个框。此外,还有一个readonly元素,纯粹是为用户提供上下文。
readonly元素阻止在#DialFifth
中键入值。我试图使用属性选择器来阻止使用readonly拾取元素,但这似乎不起作用。
请参阅摘录 - 任何想法?
$(':input').keypress(function() {
$(this).next(':input').focus();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="DialFirst" name="DialFirst" type="text" value="" />
<input id="DialSecond" name="DialSecond" type="text" value="" />
<input id="DialThird" name="DialThird" type="text" value="" />
<input id="DialFourth" name="DialFourth" type="text" value="" />
<input id="DialFifth" name="DialFifth" type="text" value="" /> <!--Unable to type into this box-->
<input id="DialFinal" name="DialFinal" type="text" readonly="readonly" value="0" />
&#13;
答案 0 :(得分:1)
问题与更改值和触发事件的顺序有关。要执行您的操作,请改为使用keyup
:
$(':input').keyup(function() {
$(this).next(':input').focus();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="DialFirst" name="DialFirst" type="text" value="" />
<input id="DialSecond" name="DialSecond" type="text" value="" />
<input id="DialThird" name="DialThird" type="text" value="" />
<input id="DialFourth" name="DialFourth" type="text" value="" />
<input id="DialFifth" name="DialFifth" type="text" value="" />
<input id="DialFinal" name="DialFinal" type="text" readonly="readonly" value="0" />