JQuery Live vs On

use*_*567 1 jquery

我有以下代码,与Live一起工作正常

 $('.numbersonly').live('keydown', function (e) {
    var key = e.charCode || e.keyCode || 0;
    return (key == 8 || key == 9 || key == 46 || (key >= 37 && key <= 40) ||
           (key >= 48 && key <= 57) || (key >= 96 && key <= 105));
});
Run Code Online (Sandbox Code Playgroud)

然后我改为On

 $('.numbersonly').on('keydown', function (e) {
    var key = e.charCode || e.keyCode || 0;
    return (key == 8 || key == 9 || key == 46 || (key >= 37 && key <= 40) ||
           (key >= 48 && key <= 57) || (key >= 96 && key <= 105));
});
Run Code Online (Sandbox Code Playgroud)

但我在min.js文件中收到脚本错误.我错过了什么吗?

Adi*_*dil 6

将事件委托给父母.numbersonlydocument其他人

$(document).on('keydown', '.numbersonly', function (e) {
    var key = e.charCode || e.keyCode || 0;
    return (key == 8 || key == 9 || key == 46 || (key >= 37 && key <= 40) ||
       (key >= 48 && key <= 57) || (key >= 96 && key <= 105));
});
Run Code Online (Sandbox Code Playgroud)