Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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
Javascript 在就绪和键控事件时运行函数_Javascript_Jquery - Fatal编程技术网

Javascript 在就绪和键控事件时运行函数

Javascript 在就绪和键控事件时运行函数,javascript,jquery,Javascript,Jquery,jquery中是否还有其他方法可以在页面加载和keyup事件时运行函数,而不是像我这样做 $(function() { totalQty(); $("#main input").keyup(function() { totalQty(); }); }); 您可以使用$(document).ready事件在加载时运行函数: $(document).ready(function(){ /* your code here */ }); 您可以使用$.liv

jquery中是否还有其他方法可以在页面加载和keyup事件时运行函数,而不是像我这样做

$(function() { 
  totalQty(); 
  $("#main input").keyup(function() { 
    totalQty(); 
  }); 
});
您可以使用$(document).ready事件在加载时运行函数:

$(document).ready(function(){ 
    /* your code here */ 
});
您可以使用$.live(),它执行事件委派,这比为每个输入标记创建一个事件监听器要高效得多……然后丢失任何动态创建的事件监听器。请尝试以下操作:

$(文档).ready(函数(){
总数量();
$(“#主输入”).live('keyup',function(){
总数量();
});
});

以下是我要做的事情(jQuery 1.4+)


忽略
live
delegate
优化,您可以触发如下事件:

$(function() { 
   $("#main input").keyup(function() { 
     totalQty();
   }).filter(":first").keyup(); //Run it once
});

如果不是在多个元素上,就不需要过滤器,在这种情况下就不用了。

这些都是一样的,我认为他指的是一种更好的方法来考虑代码,而不是不同的措辞。哎呀,我错过了1.4$()中不再是相同的东西,因为jQuery 1.4$()不再是$(文档)的快捷方式;您应该使用$(document).ready(…)在页面加载时执行某些操作。+1给David V.噢,哇,我完全错过了这一点…为什么不使用live而使用delegate?我还以为现场直播了呢?
$(document).ready(function() { 
  totalQty(); 
  $("#main").delegate("input","keyup",function() { 
    totalQty(); 
  }); 
});
$(function() { 
   $("#main input").keyup(function() { 
     totalQty();
   }).filter(":first").keyup(); //Run it once
});