当我从 jquery 调用时,ReferenceError:事件未在我的应用程序中定义
2015-06-10
469
当我调用此函数时出现此错误:
if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 ||
ReferenceError: event is not defined
这是我的代码:
$(".decimalonly").each(function () {
$(this).keydown(function (e) {
if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 ||
(event.keyCode == 65 && event.ctrlKey === true) ||
((event.keyCode == 190 || event.keyCode == 110) && $(this).val().indexOf(".") == -1) ||
(event.keyCode >= 35 && event.keyCode <= 39)) {
return;
}
else {
keypress
if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105)) {
event.preventDefault();
}
}
});
});
2个回答
您正在将
e
传递给函数,但您在函数中调用
event
。将
$(this).keydown(function (e)
替换为
$(this).keydown(function (event)
即可。
Reeno
2015-06-10
您正在传递
e
作为参数,那么
e
变量将包含所有事件信息。因此,请用
e
替换每个
event
。我还注意到
keypress
也应该会导致错误,因为它未在任何地方定义,它不是赋值或函数调用。
fsacer
2015-06-10