我正在尝试为angular2项目进行简单的数字验证。但我无法复制下面编写的JavaScript代码。
HTML
<input type="text" class="textfield" value="" id="extra7" name="extra7" onkeypress="return isNumber(event)" />
的JavaScript
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode != 46 && (charCode < 48 || charCode > 57))) {
return false;
} else {
return true;
}
}
现在,当我尝试return isNumber(event)
时,对于angularJS2,它无法编译html文件。并启动Rx.js错误。如果我删除return
它已编译但不能正常工作。
我错过了AngularJS2世界的一些东西。
如果需要进一步的详细信息,请与我们联系。
更新
这样我在angular2中这样做。如果我删除了return关键字但是不能使用isNumber方法返回的任何内容,那么我可以获得keypress。
PS:我正在做所有这些特殊工作,因为Firefox输入类型号码在表格发布时检查号码。并且AngularJS2绕过表单帖子(完整的html帖子)给ajax post afaik。
答案 0 :(得分:1)
将函数绑定到元素时,应该有football operator:
<input ... (keypress)="return isNumber()"/>
如果这不起作用,我很好奇为什么你需要在按键上返回一个函数...