ReferenceError:当我从jquery调用时,我的应用程序中没有定义事件

时间:2015-06-10 13:40:44

标签: jquery

当我调用此函数时,我收到此错误:

 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 个答案:

答案 0 :(得分:0)

您正在传递e作为参数,然后e变量包含所有事件信息。所以用event替换每个e。我还注意到keypress也应该导致错误,因为它没有在任何地方定义,它不是赋值或函数调用。

答案 1 :(得分:0)

您正在将e传递给该函数,但在您正在调用event的函数中。将$(this).keydown(function (e)替换为$(this).keydown(function (event),您就可以了。