我已经写了一个timepicker指令,在那里我可以输入时间,如果我输入的值将被格式化为特定的时间格式。输入也会模糊。这一切都很好。
问题是我还有一些使用ng-click指令的按钮。如果我按Enter键,那么ng-click指令的动作也会被调用。虽然我运行e.preventDefault();
这是我的指令的代码:
$element.keyup(function(e) { var keyCode = e.keyCode || e.witch; if (keyCode == 13) { $element.blur(); // Do some more stuff here e.preventDefault(); return false; } });
和HTML代码:
<button class="btn btn-default" ng-click="openModal()"> <i class="icon-info-sign"></i> </button>
解决方法
你的按钮需要一个type =“button”。默认情况下是type =“submit”,这就是为什么它被称为表单提交的原因。
当您按Enter键时,还需要防止表单提交,但这是一个不同的问题。