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