![](/img/trans.png)
[英]JavaScript Click event fires via the Enter Key but not via the Mouse
[英]addNewRow with Enter Key via javascript
我有以下代码:
$(document).on('keypress', ".addNewRow", function(e){
var keyCode = e.which ? e.which : e.keyCode;
if(keyCode == 9 ) addNewRow();
});
按下“ Tab”键后,此代码将执行addNewRow(添加表数据)。 这完美。 我想更改它以使其与“ Enter”一起使用,因此我进行了如下修改:
$(document).on('keypress', ".addNewRow", function(e){
var keyCode = e.which ? e.which : e.keyCode;
if(keyCode == 9,13 ) addNewRow();
});
由于某些奇怪的原因,这不能按预期方式工作。 我是否有其他方式无法做到这一点? *在墙上的撞头
编辑:也尝试过这个:
$(document).on('keypress', ".addNewRow", function(e){
var keyCode = e.which ? e.which : e.keyCode;
if(keyCode == 9||13 ) addNewRow();
});
表格代码(以防止在输入时提交):
<script type="text/javascript">
function tabE(obj, e) {
var e = (typeof event != 'undefined') ? window.event : e; // IE : Moz
var self = $(obj),
form = self.parents('form:eq(0)'),
focusable, next;
if (e.keyCode == 13) {
focusable = form.find('input,a,select,button,textarea').filter(':visible');
next = focusable.eq(focusable.index(obj) + 1);
if (!next.length) {
next = focusable.first();
}
next.focus();
return false;
}
}
</script>
<!-- Prevent Enter from Submitting Form -->
<script>
$(document).on("keydown", "input", function(e) {
if (e.which==13) e.preventDefault();
});
</script>
<!-- Begin page content -->
正确or
声明:
if (keyCode == 9 || keyCode == 13)
https://jsfiddle.net/8bzn43r6/请参阅链接中的示例
<table>
<tbody>
<tr>
<td><input type = "text" id="username"/></td>
</tr>
</tbody>
</table>
$(document).ready(function(){
var count = 0;
function addNewRow(){
console.log("Added ROW" + count++);
$("<tr><td><input type='text' id='username'/><td/><tr/>").appendTo("tbody");
}
$('tbody').on('keydown','#username',function(e){
if(e.keyCode == 9 || e.keyCode == 13) addNewRow();
});
});
像魅力一样工作
您是否希望将自己作为OR?
if(keyCode == 9 || keyCode == 13 )
还是作为AND?
if(keyCode == 9 && keyCode == 13 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.