如何将事件数据从jQuery .on()传递给单独的JavaScript函数?

时间:2013-12-19 17:26:24

标签: javascript jquery javascript-events pass-by-value

我有一个像这样的jQuery事件处理程序:

$(document).on("input propertychange", ".qty-target", checkQtyTarget);

这样的JavaScript函数:

function checkQtyTarget(event) {
        if (isNaN($(this).val())) {
            var x = $(this).val();
            $(this).val(x.slice(0, -1));
            $(this).filter(":not(:animated)").effect("shake");
        }
        else if ($(this).val().length > 3) {
            var x = $(this).val();
            $(this).val(x.slice(0, -1));
            $(this).filter(":not(:animated)").effect("shake");
        }
        else if (event.which === 190) {
            var x = $(this).val();
            $(this).val(x.slice(0, -1));
            $(this).filter(":not(:animated)").effect("shake");
        }
    }

当我运行Firebug时,调试器告诉我event.which未定义。我查看了jQuery API .on()文档,其中说明您可以将event.data作为.on()事件绑定的第3个参数传递,但是当我尝试时,我得到了类似的错误{{1没有定义。我究竟做错了什么?如何将event数据传递给单独的函数?

0 个答案:

没有答案