我有一大堆代码:
<body>
<div class="row">
<!-- Begin cloned email section -->
<div id="entry1" class="col-md-4 clonedInput_1">
<!-- Text input-->
<div class="form-group">
<label>Email:</label>
<input type="text" class="form-control">
</div>
</div><!-- end #entry1 -->
<!-- Button (Double) -->
</div>
<button type="button" id="btnAdd_1" name="btnAdd" class="btn btn-primary" style="display:none"></button>
<button type="button" id="btnDel_1" name="btnDel" class="btn btn-danger" style="display:none"></button>
<script>
$('.clonedInput_1 div input').keypress(function(e) {
if (e.which === 32 || e.keyCode === 32) {
$('#btnAdd_1').click();
$('.clonedInput_1:last-child div input').val(null);
$('.clonedInput_1:last-child div input').focus();
}
});
</script>
</body>
注意: 带有ID ='btnAdd_1'的按钮,使用class ='clonedInput_1'克隆div。 keyCode 32 =键盘上的'Space'键。
它已经克隆了div,它专注于它,但是当我专注于第二个div时,当我按下键盘上的“空格”键时,它不会克隆自己。我必须手动聚焦回第一个div,并按'空格'进行克隆。
为什么?,克隆的第二个不应该也有相同的类吗? (所以jquery中的选择器可以检测到它。)
答案 0 :(得分:1)
脚本只在执行时向该类添加监听器,使用
$(document).on(
"keypress",
".clonedInput_1",
function(){..}
)
代替
答案 1 :(得分:0)
试试这个
function AllowNumbers(e, field) {
var val = field.value;
var re1 = /(^[0-9$]+)/g;
val = re1.exec(val);
if (val) {
field.value = val[0];
} else {
field.value = "";
}
}
而不是
$('.clonedInput_1:last-child div input').val("");
$('.clonedInput_1:last-child div input').focus();
这应该把重点放在最后一个输入字段上。