Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquerylivevs-On_Jquery - Fatal编程技术网

jquerylivevs-On

jquerylivevs-On,jquery,Jquery,我有下面的代码,这是工作良好的生活 $('.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 <= 5

我有下面的代码,这是工作良好的生活

 $('.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));
});
然后我换成了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));
});

但是我在min.js文件中得到了脚本错误。我遗漏了什么吗?

仅将事件委托给.numbersonly的父级,或以其他方式委托给文档

$(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));
});

将事件委托给.numbersonly或document的父级,否则

$(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));
});

如果将事件绑定为on,则将仅绑定与选择器匹配的当前DOM元素的事件 因此,建议在“after”domready事件上使用

例如:

  $(document).ready(function(){
         ...
         $('selector').on('event',eventHandler(e){
             ...
         });
  });
如果使用live,那么在修改dom树之后,事件也将绑定到匹配的元素。
例如,使用ajax加载内容

如果将事件绑定为on,则事件将仅绑定到与选择器匹配的当前DOM元素 因此,建议在“after”domready事件上使用

例如:

  $(document).ready(function(){
         ...
         $('selector').on('event',eventHandler(e){
             ...
         });
  });
如果使用live,那么在修改dom树之后,事件也将绑定到匹配的元素。
例如,使用ajax加载内容时,请更新以添加脚本错误您正在使用的jQuery版本??请更新以添加脚本错误您正在使用的jQuery版本??